perm filename POX.XGP[UP,DOC]1 blob sn#190279 filedate 1975-12-05 generic text, type T, neo UTF8
/FONT#0=NGR30/FONT#2=BDI25/FONT#3=NGR25/FONT#4=NGB25[  1,REM]/FONT#5=NGR20[  1,REM]/FONT#6=XMAS25/FONT#15=KBD25/FONT#12=75224X[  1,REM]/FONT#1=FIX25/FONT#7=CLAR30/FONT#9=GRK30/FONT#14=GRKL50/TMAR=200/PMAR=1992/BMAR=2
␈↓␈↓␈↓α␈↓β␈↓∧␈↓¬␈↓ε␈↓∂␈↓␈↓ ↓H␈β↓H␈↓␈↓ ¬ε␈↓P␈↓βrototype␈↓ O␈↓βverlay␈↓ X␈↓βerographics␈↓ ↓H
␈↓ ↓H␈β↓j␈↓β␈↓ ¬
␈↓β(name suggested by R.W.Gosper)␈↓ ↓H
␈↓ ↓H␈βαλ␈↓β␈↓ β;␈↓βBy Robert Elton Maas, with revisions by Ralph E. Gorin and R.E.M.␈↓ ↓H
␈↓ ↓H␈βα&␈↓β␈↓α␈↓ αc(POX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11)␈↓ ↓H
␈↓ ↓H␈βαD␈↓α␈↓ ↓H
␈↓ ↓H␈βαb␈↓α␈↓β␈↓ α_POX␈αis␈αa␈αprogram␈αfor␈αmaking␈αdocuments␈αthat␈αtake␈αadvantage␈αof␈αthe␈αspecial␈αfeatures␈αavailable␈αon␈↓ ↓H
␈↓ ↓H␈ββ␈↓β␈↓ ↓Hthe␈αXerox␈αGraphics␈αPrinter␈α(XGP).␈αThe␈αspecial␈αfeatures␈αthat␈αboth␈αPOX␈αand␈αPUB␈αprovide␈αare␈αmainly␈αfont␈↓ ↓H
␈↓ ↓H␈ββ≡␈↓β␈↓ ↓Hswitching,␈α⊃text␈α⊃justification␈α⊃and␈α⊃automatic␈α⊃"every␈α⊂page"␈α⊂actions␈α⊂such␈α⊂as␈α⊂page␈α⊂numbering.␈α⊂POX␈α⊂also␈↓ ↓H
␈↓ ↓H␈ββ<␈↓β␈↓ ↓Hprovides␈α∞vectors,␈α∞positioning␈α∞of␈α∞text␈α∞etc.␈α∞to␈α∞an␈α∞accuracy␈α∞of␈α
1/200␈α
inch,␈α
composition␈α
of␈α
text␈α
etc.␈α
into␈↓ ↓H
␈↓ ↓H␈ββZ␈↓β␈↓ ↓H"overlays"␈αwhich␈αcan␈αbe␈αcopied␈αand␈αprocessed␈αwithout␈αlosing␈αthe␈αrelative␈αpositions␈αof␈αthe␈αcomponents␈↓ ↓H
␈↓ ↓H␈ββx␈↓β␈↓ ↓H(somewhat␈αlike␈αsets␈αin␈αSUDS,␈αthe␈αHelliwell␈αdrawing␈αprogram).␈αPOX␈αdoes␈αnot␈αyet␈αprovide␈αtext␈αresponses␈↓ ↓H
␈↓ ↓H␈β∧⊗␈↓β␈↓ ↓Hor␈α∩footnotes.␈α∩It␈α∩is␈α∩possible␈α∩to␈α∩set␈α∩up␈α∩cross-references␈α⊃or␈α⊃indexes/contents␈α⊃by␈α⊃means␈α⊃of␈α⊃macros,␈↓ ↓H
␈↓ ↓H␈β∧4␈↓β␈↓ ↓Hproviding␈αthat␈αthere␈αare␈αno␈αforeward␈αreferences␈α(i.e.␈αeverything␈αis␈αdefined␈αbefore␈αit␈αis␈αused␈α--␈αPOX␈αis␈↓ ↓H
␈↓ ↓H␈β∧R␈↓β␈↓ ↓Hone-pass␈α∂only).␈α∂Neither␈α∂POX␈α∂nor␈α∂PUB␈α∂can␈α∂yet␈α∂be␈α∞used␈α∞interactively␈α∞like␈α∞GEOMED␈α∞and␈α∞SUDS,␈α∞and␈α∞no␈↓ ↓H
␈↓ ↓H␈β∧p␈↓β␈↓ ↓Hprogram␈α∩yet␈α∩exists␈α∩for␈α∩viewing␈α∩the␈α∩final␈α∩output␈α∩on␈α∩displays␈α∩to␈α∩check␈α∩for␈α∩visual␈α∩errors␈α∩prior␈α⊃to␈↓ ↓H
␈↓ ↓H␈β¬∞␈↓β␈↓ ↓H␈↓∂XSPOOL␈↓βing.␈↓ ↓H
␈↓ ↓H␈β¬,␈↓β␈↓ α_POX␈αhas␈αa␈αfew␈αintractable␈αbugs␈α--␈αthere␈αis␈αa␈αlist␈αof␈αthese␈αbugs␈αin␈αa␈αlater␈αsection␈αof␈αthis␈αwriteup␈↓ ↓H
␈↓ ↓H␈β¬J␈↓β␈↓ ↓H--␈α
references␈α
to␈α
these␈α
bugs␈α
are␈α
made␈α
from␈α
various␈α
places␈α
in␈α
this␈α
writeup,␈α
in␈α
the␈α
format␈α"␈↓αsee␈αbug#n␈↓β"␈↓ ↓H
␈↓ ↓H␈β¬h␈↓β␈↓ ↓Hwhere␈αn␈αis␈αthe␈αnumber␈αof␈αthe␈αbug␈αin␈αthat␈αlist␈α--␈αusers␈α
should␈α
report␈α
any␈α
bugs␈α
they␈α
find␈α
that␈α
are␈α
not␈α
in␈↓ ↓H
␈↓ ↓H␈βεε␈↓β␈↓ ↓Hthat␈αlist␈α--␈αerrors␈αin␈αthis␈αwriteup␈αshould␈αalso␈αbe␈αreported␈α
before␈α
too␈α
many␈α
unwary␈α
users␈α
see␈α
them␈α
and␈↓ ↓H
␈↓ ↓H␈βε$␈↓β␈↓ ↓Hexpect␈α
POX␈α
to␈α
do␈α
things␈α
it␈α
can't␈α
do.␈↓ ↓H
␈↓ ↓H␈βεB␈↓β␈↓ ↓H
␈↓ ↓H␈βε`␈↓β␈↓ α_POX␈αtakes␈αa␈αfile␈αas␈αinput␈αand␈αproduces␈αan␈αoutput␈αfile␈αthat␈αis␈αsuitable␈αfor␈αspooling␈αwith␈αthe␈αXGP␈↓ ↓H
␈↓ ↓H␈βε}␈↓β␈↓ ↓Hspooler␈α
(␈↓∂XSPOOL␈↓β␈α
command).␈α
The␈α
input␈α
file␈α
contains␈α
instructions␈α
to␈α
POX␈α
and␈α
the␈α
text␈α
of␈α
the␈αdocument.␈↓ ↓H
␈↓ ↓H␈βπ≤␈↓β␈↓ ↓HPOX␈α⊂takes␈α⊂character␈α⊂sequences␈α⊂as␈α∂commands.␈α∂Each␈α∂command␈α∂sequence␈α∂is␈α∂preceded␈α∂by␈α∂a␈α∂character,␈↓ ↓H
␈↓ ↓H␈βπ:␈↓β␈↓ ↓Hcalled␈α⊃the␈α⊃␈↓αEscape␈α⊃Character␈↓β.␈α⊃The␈α⊃first␈α⊃character␈α⊃in␈α⊃the␈α⊃file␈α⊃(ignoring␈α⊃TV␈α⊃directories␈α⊃and␈α⊃SOS␈α⊃line␈↓ ↓H
␈↓ ↓H␈βπX␈↓β␈↓ ↓Hnumbers)␈α∞is␈α∞taken␈α∞by␈α∞POX␈α∞as␈α∞the␈α∞escape␈α∞character␈α∞(See␈α∞note␈α∞1).␈α∞Thus,␈α
the␈α
user␈α
gets␈α
to␈α
specify␈α
the␈↓ ↓H
␈↓ ↓H␈βπv␈↓β␈↓ ↓Hescape␈α∞character.␈α
The␈α
escape␈α
character␈α
can␈α
be␈α
arbitrary,␈α
but␈α
reason␈α
dictates␈α
that␈α
it␈α
should␈α
be␈α
some␈↓ ↓H
␈↓ ↓H␈βλ∀␈↓β␈↓ ↓Hcharacter␈α⊂that␈α⊂appears␈α⊂infrequently␈α⊂(or␈α⊂not␈α⊂at␈α⊂all)␈α⊂in␈α⊂the␈α⊂text␈α⊂of␈α⊂the␈α⊂document.␈α⊂The␈α⊂most␈α∂popular␈↓ ↓H
␈↓ ↓H␈βλ0␈↓β␈↓ ↓Hchoices␈α⊂for␈α⊂the␈α⊂escape␈α⊂character␈α⊂are␈α⊂\␈α⊂_␈α⊂and␈α∂$.␈α∂In␈α∂the␈α∂remainder␈α∂of␈α∂this␈α∂document,␈α∂the␈α∂symbol␈α∂␈↓1␈↓β␈↓ ↓H
␈↓ ↓H␈βλP␈↓β␈↓ ↓H(pronounced␈α"brick"␈α--␈αyou␈αwon't␈αfind␈αit␈αon␈αyour␈αkeyboard␈α--␈αit's␈αASCII␈α
061␈α
in␈α
font␈α
75224X.FNT[1,REM]␈↓ ↓H
␈↓ ↓H␈βλn␈↓β␈↓ ↓Hif␈α∩you␈α∩really␈α∩want␈α∩to␈α∩know␈α∩how␈α∩I␈α∩generated␈α∩it␈α∩in␈α⊃this␈α⊃writeup)␈α⊃represents␈α⊃your␈α⊃current␈α⊃Escape␈↓ ↓H
␈↓ ↓H␈β	␈↓β␈↓ ↓HCharacter,␈α∂whatever␈α∂it␈α∂may␈α∂be␈α∂at␈α∂the␈α∞moment;␈α∞however,␈α∞in␈α∞some␈α∞examples␈α∞below␈α∞the␈α∞actual␈α∞escape␈↓ ↓H
␈↓ ↓H␈β	*␈↓β␈↓ ↓Hcharacter␈α
will␈α
be␈α
shown␈α
rather␈α
than␈α
the␈α
brick␈α
symbol.␈↓ ↓H
␈↓ ↓H␈β	H␈↓β␈↓ α_I␈αhaven't␈αreally␈αdecided␈αwhat␈αto␈αcall␈αthese␈αcommands,␈αso␈αuntil␈αmake␈αa␈αdecision␈αyou␈αmay␈αfind␈αthat␈↓ ↓H
␈↓ ↓H␈β	f␈↓β␈↓ ↓Hat␈αsome␈αplaces␈αin␈αthis␈αwriteup␈αthey␈αare␈αcalled␈α"escape␈αcommands"␈αat␈αother␈αplaces␈α"brick␈αcommands"␈αor␈↓ ↓H
␈↓ ↓H␈β
∧␈↓β␈↓ ↓H"POX␈α∞commands".␈α∞The␈α∞commands␈α∞the␈α∞XGP␈α∞understands,␈α∞beginning␈α∞with␈α∞an␈α∞ASCII␈α∞177␈α∞which␈α∞is␈α∞rubout,␈↓ ↓H
␈↓ ↓H␈β
"␈↓β␈↓ ↓Hhave␈α∞entirely␈α∞different␈α∞syntax␈α∞even␈α∞for␈α∞commands␈α∞that␈α∞perform␈α∞almost␈α∞the␈α∞same␈α∞function␈α∞as␈α
a␈α
brick␈↓ ↓H
␈↓ ↓H␈β
@␈↓β␈↓ ↓Hcommand.␈αThese␈αare␈αreferred␈αto␈αas␈α"XGP␈αescape␈αsequences"␈αor␈α"rubout-style␈αcommands"␈αto␈αdistinguish␈↓ ↓H
␈↓ ↓H␈β
↑␈↓β␈↓ ↓Hthem␈α∂from␈α∂brick␈α∂commmands.␈α∂These␈α∂XGP␈α∂escape␈α∞sequences␈α∞are␈α∞normally␈α∞present␈α∞only␈α∞in␈α∞the␈α∞output␈↓ ↓H
␈↓ ↓H␈β
|␈↓β␈↓ ↓Hfrom␈α⊂POX␈α⊂and␈α⊂PUB,␈α⊂except␈α⊂when␈α⊂POX␈α⊂is␈α⊂used␈α⊂as␈α⊂post-processor␈α∂for␈α∂some␈α∂other␈α∂program,␈α∂such␈α∂as␈↓ ↓H
␈↓ ↓H␈β~␈↓β␈↓ ↓HXLITER.␈αFor␈αthis␈αand␈αsimilar␈αuse,␈αPOX␈αcan␈αaccept␈αcertain␈αsystem␈αXGP␈αescape␈αsequences␈αat␈αsome␈αplaces␈↓ ↓H
␈↓ ↓H␈β8␈↓β␈↓ ↓Hin␈αthe␈αinput␈αfile.␈α␈↓¬What␈αPOX␈αdoes␈αis␈αto␈αconvert␈αthese␈αescape␈αsequences␈αinto␈αthe␈αequivalent␈αbrick␈αcommand␈αupon␈αinput,␈αthen␈αto␈↓ ↓H
␈↓ ↓H␈βZ␈↓¬␈↓ ↓Hprocess␈α∞the␈α∞brick␈α∞command␈α∞in␈α∞the␈α∞usual␈α∞way.␈α∞Thus␈α∞the␈α∞XLITER␈α∞program␈α∞can␈α∞transliterate␈α∞phonemes␈α∞into␈α
cyrillic␈α
characters␈α
with␈↓ ↓H
␈↓ ↓H␈βx␈↓¬␈↓ ↓Hrubout-style␈α
font␈α
selects␈α
(to␈α
allow␈α
direct␈α
listing␈α
on␈α
the␈α
XGP␈α
if␈α
desired),␈α
and␈α
POX␈α
can␈α
treat␈α
the␈α
cyrillic␈α
as␈α
text,␈α
treat␈α
the␈α
font-selects␈↓ ↓H
␈↓ ↓H␈β⊂␈↓¬␈↓ ↓Hgenerated␈α	in␈αλthe␈αλprocess␈αλof␈αλtransliteration␈αλas␈αλ␈↓1␈↓∂F␈↓¬...␈αλcommands,␈αλand␈αλprocess␈αλother␈αλbrick␈αλcommands␈αλthat␈αλwere␈αλin␈αλthe␈αλoriginal␈αλtext␈αλfile␈αλ(that␈↓ ↓H
␈↓ ↓H␈β4␈↓¬␈↓ ↓Hwere␈α
passed-as-is␈α
by␈α
XLITER).␈↓β␈↓ ↓H
␈↓ ↓H␈βN␈↓β␈↓ ↓H
␈↓ ↓H␈βl␈↓β␈↓ α_To␈α
run␈α
POX,␈α
use␈α
the␈α
system␈α
command␈α
␈↓∂R␈α
POX␈↓β␈α
(or␈α
␈↓∂RU␈α
POX[1,REM]␈↓β␈α
if␈αyou␈αwant␈αto␈αuse␈αthe␈αlatest␈↓ ↓H
␈↓ ↓H␈β
␈↓β␈↓ ↓Hexperimental␈α∪version␈α∪of␈α∪POX␈α∪if␈α∪one␈α∪exists).␈α∪POX␈α∪wants␈α∪to␈α∪see␈α∩a␈α∩command␈α∩of␈α∩the␈α∩form:␈α∩␈↓¬<OUTPUT␈↓ ↓H
␈↓ ↓H␈β
(␈↓¬␈↓ ↓HFILE>␈↓∂←␈↓¬<INPUT␈αFILE>␈↓β.␈αIf␈αthe␈α␈↓¬<OUTPUT␈αFILE>␈↓β␈αterm␈αis␈αomitted␈α(the␈αarrow␈αmust␈αstill␈αappear)␈αthen␈αthe␈αoutput␈αfile␈↓ ↓H
␈↓ ↓H␈β
F␈↓β␈↓ ↓Hwill␈αhave␈αthe␈αsame␈αname␈αas␈αthe␈αinput␈αfile,␈αand␈α"␈↓∂.XGP␈↓β"␈α
extension.␈α
If␈α
only␈α
the␈α
extension␈α
of␈α
the␈α
output␈α
file␈↓ ↓H
␈↓ ↓H␈β
d␈↓β␈↓ ↓His␈α∞omitted,␈α
"␈↓∂.XGP␈↓β"␈α
will␈α
be␈α
used.␈α
--␈α
Later␈α
if␈α
you␈α
haven't␈α
logged␈α
out␈α
and␈α
have␈α
the␈α
same␈α
alias,␈α
you␈α
can␈↓ ↓H
␈↓ ↓H␈β∞α␈↓β␈↓ ↓Hmake␈αPOX␈αuse␈αthe␈αsame␈αcommand,␈αwithout␈αretyping␈αit,␈αby␈αstarting␈αPOX␈α
at␈α
the␈α
RPG␈α
starting␈α
address.␈α
For␈↓ ↓H
␈↓ ↓H␈β∞ ␈↓β␈↓ ↓Hexample,␈α⊃you␈α⊃can␈α⊃say␈α⊂"␈↓∂GET␈α⊂SYS:POX␈↓β"␈α⊂then␈α⊂say␈α⊂"␈↓∂S␈α⊂+1␈↓β",␈α⊂or␈α⊂from␈α⊂E␈α⊂you␈α⊂can␈α⊂give␈α⊂the␈α⊂extend-mode␈↓ ↓H
␈↓ ↓H␈β∞>␈↓β␈↓ ↓Hcommand␈α
"␈↓∂RU␈α
POX[1,3]␈↓β".␈↓ ↓H
␈↓ ↓H␈β∞\␈↓β␈↓ α_If␈αall␈αis␈αwell␈αwith␈αthe␈αinput␈αfile,␈αPOX␈αwill␈α
run␈α
and␈α
produce␈α
an␈α
output␈α
file␈α
suitable␈α
for␈α
␈↓∂XSPOOL␈↓βing.␈α
If␈↓ ↓H
␈↓ ↓H␈β∞z␈↓β␈↓ ↓Hyou␈αare␈αat␈αa␈αlocal␈αdisplay,␈αPOX␈αwill␈αload␈αthe␈αappropriate␈α␈↓∂XSPOOL␈↓β␈αcommand␈αinto␈αyour␈αline␈αeditor,␈αso␈αall␈↓ ↓H
␈↓ ↓H␈β∂_␈↓β␈↓ ↓Hyou␈α
have␈α
to␈α
do␈α
is␈α
type␈α
return␈α
to␈α
spool␈α
the␈α
file.␈↓ ↓H
␈↓ ↓H␈β∂6␈↓β␈↓ ↓H
␈↓ 
j␈↓α 1␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 2␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓␈↓ ¬;Sample POX input file␈↓ ↓H
␈↓ ↓H␈β↓f␈↓␈↓ βn(I assume you will have your files in E/TV format)␈↓ ↓H
␈↓ ↓H␈βαλ␈↓␈↓∂␈↓ ↓H
␈↓ ↓H␈βα&␈↓∂COMMENT ⊗   VALID 00002 PAGES␈↓ ↓H
␈↓ ↓H␈βαD␈↓∂C REC  PAGE   DESCRIPTION␈↓ ↓H
␈↓ ↓H␈βαb␈↓∂C00001 00001␈↓ ↓H
␈↓ ↓H␈ββ␈↓∂C00002 00002␈↓ βH\|\\M0FIX25\M1NGR25\ This is a comment, after the brick-semicolon␈↓ ↓H
␈↓ ↓H␈ββ≡␈↓∂C00004 ENDMK␈↓ ↓H
␈↓ ↓H␈ββ<␈↓∂C⊗;␈↓ ↓H
␈↓ ↓H␈ββ↑␈↓∂␈↓ ∧l␈↓¬<FORMFEED> i.e. page mark after directory page␈↓∂␈↓ ↓H
␈↓ ↓H␈ββx␈↓∂\|\\M0FIX25;\M1NGR25;\; This is a comment, after the brick-semicolon␈↓ ↓H
␈↓ ↓H␈β∧⊗␈↓∂\; Font #0 is here in case title pages needed -- If we␈↓ ↓H
␈↓ ↓H␈β∧4␈↓∂\; don't explicitly specify it here, the system will invent a font#0.␈↓ ↓H
␈↓ ↓H␈β∧R␈↓∂\←L\+=100;\→L\; Move left margin in by 1/2 inch␈↓ ↓H
␈↓ ↓H␈β∧p␈↓∂\F1\CTITLE OF THIS DOCUMENT IS HERE␈↓ ↓H
␈↓ ↓H␈β¬∞␈↓∂␈↓ ↓H
␈↓ ↓H␈β¬,␈↓∂\J␈↓ αHThis is a sample document, with justified text, and a centered␈↓ ↓H
␈↓ ↓H␈β¬J␈↓∂title.  It demonstrates to the person using POX for the first time,␈↓ ↓H
␈↓ ↓H␈β¬h␈↓∂just what is involved in a simple POX manuscript (borrowing terminology␈↓ ↓H
␈↓ ↓H␈βεε␈↓∂from the PUB manual, in which a "manuscript" is the uncompiled form␈↓ ↓H
␈↓ ↓H␈βε$␈↓∂you see here and a "document" is the compiled file all␈↓ ↓H
␈↓ ↓H␈βεB␈↓∂ready to output to some device such as lineprinter or XGP).  If you␈↓ ↓H
␈↓ ↓H␈βε`␈↓∂have any doubt what the output on the XGP would look like if␈↓ ↓H
␈↓ ↓H␈βε}␈↓∂this document were actually compiled etc., I suggest you create␈↓ ↓H
␈↓ ↓H␈βπ≤␈↓∂a text file with E or SOS and copy this page (after the formfeed␈↓ ↓H
␈↓ ↓H␈βπ:␈↓∂above, until the end-of-file location below), and actually␈↓ ↓H
␈↓ ↓H␈βπX␈↓∂compile it and XSPOOL it.\.␈↓ ↓H
␈↓ ↓H␈βπz␈↓∂␈↓ ε␈↓¬<END OF FILE>␈↓ ↓H
␈↓ ↓H␈βλ_␈↓¬␈↓ ↓H
␈↓ ↓H␈βλ.␈↓¬␈↓␈↓ βZTHIS WRITEUP -- ORGANIZATION, MODES, NOTATION␈↓ ↓H
␈↓ ↓H␈βλP␈↓␈↓β␈↓ α_Each␈αsection␈αin␈αthis␈α
writeup␈α
that␈α
describes␈α
brick-commands␈α
consists␈α
of␈α
the␈α
following:␈α
Summary␈α
of␈↓ ↓H
␈↓ ↓H␈βλn␈↓β␈↓ ↓Hwhat␈α
it's␈α
all␈α
used␈α
for,␈α
syntax␈α
of␈α
each␈α
command,␈α
the␈α
corresponding␈α
descriptions␈αof␈αwhat␈αfunction␈αeach␈↓ ↓H
␈↓ ↓H␈β	␈↓β␈↓ ↓Hcommand␈αperforms,␈αexamples␈αof␈αthe␈αuse␈αof␈αthe␈αcommands␈αin␈αthis␈αwriteup␈α
itself␈α
with␈α
general␈α
references␈↓ ↓H
␈↓ ↓H␈β	*␈↓β␈↓ ↓Has␈α⊃to␈α⊃where␈α⊃to␈α⊃look␈α⊃to␈α⊃see␈α⊃the␈α⊃effect␈α⊂generated,␈α⊂additional␈α⊂examples␈α⊂of␈α⊂use␈α⊂(input␈α⊂text␈α⊂followed␈↓ ↓H
␈↓ ↓H␈β	H␈↓β␈↓ ↓Himmediately␈α
by␈α
the␈α
effect␈α
generated␈α
in␈α
output).␈↓ ↓H
␈↓ ↓H␈β	f␈↓β␈↓ ↓H
␈↓ ↓H␈β
∧␈↓β␈↓ α_Some␈α⊂brick-commands␈α⊂will␈α⊂put␈α∂the␈α∂command␈α∂scanner␈α∂in␈α∂a␈α∂special␈α∂mode␈α∂until␈α∂such␈α∂time␈α∂as␈α∂an␈↓ ↓H
␈↓ ↓H␈β
"␈↓β␈↓ ↓Happropriate␈α"get␈αout␈αof␈αthis␈αmode"␈αcharacter␈αor␈αbrick-command␈αis␈αseen,␈αat␈αwhich␈αtime␈αit␈αwill␈αreturn␈αto␈↓ ↓H
␈↓ ↓H␈β
@␈↓β␈↓ ↓Hits␈αprevious␈αmode.␈αInitially␈α(after␈αeating␈αthe␈αdirectory␈αpage␈αand␈αthe␈αfirst␈αcharacter␈αor␈αtwo␈αof␈αthe␈αinput␈↓ ↓H
␈↓ ↓H␈β
↑␈↓β␈↓ ↓Hfile)␈α
the␈αcommand␈αscanner␈αis␈αin␈α"PASS-AS-IS"␈αmode␈αwhich␈αmeans␈αthat␈αcarriage-return␈αputs␈αyou␈αat␈αthe␈↓ ↓H
␈↓ ↓H␈β
|␈↓β␈↓ ↓Hleft␈α∞margin,␈α∞linefeed␈α∞moves␈α∞down␈α∞to␈α∞the␈α∞next␈α∞line,␈α∞formfeed␈α
completes␈α
the␈α
page␈α
and␈α
cuts␈α
the␈α
paper,␈↓ ↓H
␈↓ ↓H␈β~␈↓β␈↓ ↓Hbrick␈α
causes␈α
a␈α
command␈α
to␈α
be␈α
expected,␈α
and␈α
all␈α
other␈αcharacters␈αare␈αcopied␈αto␈αthe␈αoutput␈αfile␈αin␈αthe␈↓ ↓H
␈↓ ↓H␈β8␈↓β␈↓ ↓Hcurrently-selected␈α
font.␈α
The␈α
effect␈α
is␈α
that␈α
text␈α
is␈α
aligned␈α
against␈αthe␈αleft␈αmargin␈αunless␈αyou␈αexplicitly␈↓ ↓H
␈↓ ↓H␈βV␈↓β␈↓ ↓Hdo␈α
a␈α
column-select␈α
to␈α
cause␈α
it␈α
to␈α
be␈α
put␈α
elsewhere.␈↓ ↓H
␈↓ ↓H␈βt␈↓β␈↓ α_The␈α∞other␈α∞modes␈α∞you␈α∞can␈α∞get␈α∞into␈α
are␈α
justify,␈α
centerify/rightify,␈α
copy␈α
text␈α
into␈α
a␈α
macro␈α
body,␈↓ ↓H
␈↓ ↓H␈β∩␈↓β␈↓ ↓Hevaluate␈α∂and␈α∂copy␈α∂text␈α∂into␈α∂an␈α∂overlay␈α∂body,␈α∂evaluate␈α∂and␈α∂copy␈α∂text␈α∂into␈α∂a␈α∞macro␈α∞argument␈α∞body,␈↓ ↓H
␈↓ ↓H␈β0␈↓β␈↓ ↓Hignore␈α
until␈α
linefeed,␈α
ignore␈α
until␈α
formfeed,␈αignore␈αnonprinting␈αcharacters␈αuntil␈αsemicolon,␈αand␈αparse␈αa␈↓ ↓H
␈↓ ↓H␈βN␈↓β␈↓ ↓Hbrick␈α∂command.␈α∂Before␈α∂each␈α∂command␈α∂description␈α∂is␈α∂a␈α∂list␈α∂of␈α∞which␈α∞modes␈α∞you␈α∞can␈α∞be␈α∞in␈α∞when␈α∞the␈↓ ↓H
␈↓ ↓H␈βl␈↓β␈↓ ↓Hcommand␈α
is␈α
scanned.␈α
The␈α
complete␈α
list␈α
is␈α
(U␈α
J␈α
CR␈α
o␈α
A)␈α
which␈αrefer␈αto␈αUnjustified␈α(normal␈αpass-as-is),␈↓ ↓H
␈↓ ↓H␈β
λ␈↓β␈↓ ↓HJustify,␈α∞Center/Rightify,␈α
atomic␈α
text␈α
Overlay␈α
(␈↓1␈↓β␈↓∂o␈↓β␈α
command)␈α
and␈α
Argument␈α
to␈α
a␈α
macro␈α
respectively␈α
(in␈↓ ↓H
␈↓ ↓H␈β
(␈↓β␈↓ ↓Hthe␈αother␈αmodes,␈αnamely␈αdefine␈αthe␈αbody␈αof␈αa␈αmacro,␈αand␈αparse␈αvarious␈αcommands,␈αthe␈αbrick␈αcharacter␈↓ ↓H
␈↓ ↓H␈β
F␈↓β␈↓ ↓His␈α
treated␈α
as␈α
text␈α
rather␈α
than␈α
initiating␈α
a␈α
brick-command).␈↓ ↓H
␈↓ ↓H␈β
d␈↓β␈↓ ↓H
␈↓ ↓H␈β∞α␈↓β␈↓ α_In␈α∂most␈α∂of␈α∂the␈α∂examples,␈α∂and␈α∂in␈α∂the␈α∂portion␈α∂of␈α∂each␈α∂syntax␈α∂specification␈α∂that␈α∂is␈α∂to␈α∂be␈α∞typed␈↓ ↓H
␈↓ ↓H␈β∞ ␈↓β␈↓ ↓Hcharacter-for-character␈α⊃exactly␈α⊃as␈α⊃you␈α⊃see␈α⊃it␈α⊃in␈α⊃this␈α⊃writeup,␈α⊃are␈α⊃in␈α⊃the␈α⊃font␈α⊂KBD25␈α⊂so␈α⊂that␈α⊂the␈↓ ↓H
␈↓ ↓H␈β∞>␈↓β␈↓ ↓Hcharacters␈α∞look␈α∞almost␈α∞the␈α∞same␈α∞as␈α∞they␈α∞do␈α∞on␈α∞your␈α∞keyboards␈α∞and␈α
displays␈α
(Except␈α
that␈α
ASCII␈α
000␈↓ ↓H
␈↓ ↓H␈β∞\␈↓β␈↓ ↓H(null),␈α⊂011␈α⊂(tab),␈α⊂012␈α⊂(linefeed),␈α⊂013␈α∂(vertical-tab␈α∂or␈α∂␈↓∂␈↓β),␈α∂014␈α∂(formfeed),␈α∂015␈α∂(carriage-return),␈α∂040␈↓ ↓H
␈↓ ↓H␈β∞z␈↓β␈↓ ↓H(space),␈α∂and␈α∂177␈α∂(rubout)␈α∂don't␈α∂look␈α∂the␈α∂same␈α∂in␈α∂KBD25␈α∂as␈α∂on␈α∂your␈α∂keyboard␈α∞so␈α∞that␈α∞they␈α∞will␈α∞be␈↓ ↓H
␈↓ ↓H␈β∂_␈↓β␈↓ ↓Hrepresented␈α
in␈α
some␈α
other␈α
way␈α
in␈α
this␈αwriteup).␈αHere␈αis␈αthe␈αcomplete␈αStanford-ASCII␈αcharacter␈αset␈αin␈↓ ↓H
␈↓ ↓H␈β∂6␈↓β␈↓ ↓Hthis␈α
font:␈↓ ↓H
␈↓ 
j␈↓α 2␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 3␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓∂␈↓αβ∧¬επ λ␈	␈
␈␈
∞∂ ⊂⊃∩∪∀∃⊗↔ _→~≠≤≥≡∨  !"#$%&' ()*+,-./ 01234567 89:;<=>? ␈↓ ↓H
␈↓ ↓H␈β↓f␈↓∂@ABCDEFG HIJKLMNO PQRSTUVW XYZ[\]↑← `abcdefg hijklmno pqrstuvw xyz{|␈⎇}␈␈␈↓ ↓H
␈↓ ↓H␈βα∧␈↓∂␈↓β␈↓ α_All␈α
BNF-style␈α
syntax␈α
is␈α
in␈α
the␈α
font␈α
NGR20.␈α
Here␈α
are␈α
the␈α
syntactical␈α
entities␈α
that␈α
will␈α
be␈α
used:␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓ α_␈↓¬<TB>␈↓β␈α
--␈α
(horizontal)␈α
tab␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ α_␈↓¬<LF>␈↓β␈α
--␈α
line␈α
(feed)␈↓ ↓H
␈↓ ↓H␈βα↑␈↓β␈↓ α_␈↓¬<FF>␈↓β␈α
--␈α
form␈α
(feed)␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓ α_␈↓¬<CR>␈↓β␈α
--␈α
(carriage)␈α
return␈↓ ↓H
␈↓ ↓H␈ββ~␈↓β␈↓ α_␈↓¬<SP>␈↓β␈α
--␈α
space␈α
(bar)␈↓ ↓H
␈↓ ↓H␈ββ8␈↓β␈↓ α_␈↓¬<CH>␈↓β␈α
--␈α
any␈α
single␈α
ASCII␈α
character␈α
(representing␈α
data␈α
to␈α
be␈α
copied␈α
to␈α
output)␈↓ ↓H
␈↓ ↓H␈ββV␈↓β␈↓ α_␈↓¬<N>␈↓β␈α∩--␈α⊃any␈α⊃one␈α⊃of␈α⊃these␈α⊃characters:␈α⊃␈↓∂0␈α⊃1␈α⊃2␈α⊃...␈α⊃9␈α⊃A␈α⊃B␈α⊃...␈α⊃F␈↓β␈α⊃(representing␈α⊃a␈α⊃logical␈α⊃font␈↓ ↓H
␈↓ ↓H␈ββt␈↓β␈↓ ↓Hnumber␈α
in␈α
IBM␈α
hexadecimal␈α
notation)␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓β␈↓ α_␈↓¬<FONT>␈↓β␈α⊃--␈α⊃any␈α⊃font␈α⊃file␈α⊃name,␈α⊃if␈α⊃extension␈α⊂and␈α⊂[p,p]␈α⊂are␈α⊂omitted,␈α⊂default␈α⊂␈↓∂.FNT[XGP,SYS]␈↓β␈α⊂is␈↓ ↓H
␈↓ ↓H␈β∧0␈↓β␈↓ ↓Hassumed␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓ α_␈↓¬<NAME>␈↓β␈α∂--␈α∂any␈α∂alphanumeric␈α∂string,␈α∂usually␈α∂required␈α∂not␈α∂to␈α∂be␈α∂the␈α∂null␈α∞string␈α∞(an␈α∞identifier,␈α∞a␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓ ↓Hname␈α
of␈α
an␈α
overlay,␈α
a␈α
macro,␈α
etc.)␈↓ ↓H
␈↓ ↓H␈β¬
␈↓β␈↓ α_␈↓¬<OPEN>␈↓β␈α
--␈α
any␈α
legal␈α
open-nesting␈α
character,␈α
such␈α
as␈α
␈↓∂(␈α
[␈α
{␈α
<␈α
⊂␈↓β,␈α
or␈α
any␈α
legal␈αquoting␈αcharacter,␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓ ↓Hsuch␈α
as␈α
␈↓∂"␈α
⊗␈α
↓␈α
/␈α
∂␈α
|␈↓β␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ α_␈↓¬<CLOSE>␈↓β␈α∩--␈α∩the␈α∩matching␈α∩close-nesting␈α∩character,␈α∩such␈α∩as␈α∩␈↓∂)␈α∩]␈α∩}␈α∩>␈α∩⊃␈↓β,␈α∩or␈α∩the␈α⊃same␈α⊃quoting␈↓ ↓H
␈↓ ↓H␈β¬d␈↓β␈↓ ↓Hcharacter,␈α
such␈α
as␈α
␈↓∂"␈α
⊗␈α
↓␈α
/␈α
∂␈α
|␈↓β␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ α_␈↓¬<BODY>␈↓β␈α--␈αany␈αstring␈αof␈αtext␈αnot␈αcontaining␈αthe␈αquoting␈αcharacter,␈αor␈αcontaining␈αproperly-nested␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓ ↓Hopen␈αand␈α
close␈α
nesting␈α
characters␈α
(note␈α
that␈α
all␈α
characters␈α
are␈α
treated␈α
as␈α
text␈α
except␈α
for␈α
the␈α
␈↓&particular␈↓)αβ␈↓ ↓H
␈↓ ↓H␈βε>␈↓β␈↓ ↓Hquoting␈α
character␈α
or␈α
nesting␈α
pair␈α
selected␈α
in␈α
a␈α
particular␈α
instance,␈α
and␈α
special␈α
characters␈α
like␈α
comma␈↓ ↓H
␈↓ ↓H␈βε\␈↓β␈↓ ↓Hetc.␈α
which␈α
have␈α
special␈α
syntactical␈α
meaning)␈α
--␈α
see␈α
description␈α
in␈α
commands␈α
where␈α
used␈↓ ↓H
␈↓ ↓H␈βεz␈↓β␈↓ α_␈↓¬<FILNAM>␈↓β␈α
--␈α
any␈α
standard␈α
file␈α
name,␈α
such␈α
as␈α
␈↓∂SUDS.RPH[UP,DOC]␈↓β.␈↓ ↓H
␈↓ ↓H␈βπ_␈↓β␈↓ ↓H
␈↓ ↓H␈βπ2␈↓β␈↓␈↓ ↓dBASIC COMMANDS --- FONT SELECTION, JUSTIFY, CENTERIFY/RIGHTIFY, IGNORE TEXT␈↓ ↓H
␈↓ ↓H␈βπT␈↓␈↓β␈↓ α_The␈α∂purpose␈α∂of␈α∂these␈α∞commands␈α∞is␈α∞to␈α∞select␈α∞the␈α∞style␈α∞and␈α∞size␈α∞of␈α∞printing␈α∞(for␈α∞example,␈α∞font␈↓ ↓H
␈↓ ↓H␈βπr␈↓β␈↓ ↓H␈↓∂BDI25␈↓β␈α⊂is␈α⊂BODONI-ITALIC,␈α⊂25/200␈α⊂inches␈α⊂high),␈α⊂to␈α⊂enter␈α∂and␈α∂exit␈α∂justify␈α∂mode␈α∂(in␈α∂which␈α∂the␈α∂text␈α∂is␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓β␈↓ ↓Hmassaged␈α
so␈α
that␈α
each␈α
line␈α
is␈αas␈αfull␈αof␈αtext␈αas␈αwill␈αfit␈αand␈αextra␈αpartial-spaces␈αare␈αinserted␈αbetween␈↓ ↓H
␈↓ ↓H␈βλ.␈↓β␈↓ ↓Hwords␈α
to␈α
make␈α
the␈α
margins␈α
line␈α
up␈α
exactly),␈α
to␈α
enter␈α
and␈α
exit␈α
rightify␈α
mode␈α
(in␈α
which␈α
text␈α
is␈αaligned␈↓ ↓H
␈↓ ↓H␈βλL␈↓β␈↓ ↓Hwith␈α⊃the␈α⊃right-margin␈α⊃but␈α⊃not␈α⊃modified␈α⊃in␈α⊃any␈α⊃other␈α⊃way),␈α⊂to␈α⊂enter␈α⊂and␈α⊂exit␈α⊂centerify␈α⊂mode␈α⊂(like␈↓ ↓H
␈↓ ↓H␈βλj␈↓β␈↓ ↓Hpass-as-is␈αand␈αrightify␈αexcept␈αeach␈αline␈αis␈αcentered),␈αand␈αto␈αignore␈αportions␈αof␈αthe␈αinput␈αtext␈αthat␈αyou␈↓ ↓H
␈↓ ↓H␈β	λ␈↓β␈↓ ↓Hdo␈α
not␈α
want␈α
processed.␈↓ ↓H
␈↓ ↓H␈β	&␈↓β␈↓ ↓H
␈↓ ↓H␈β	D␈↓β␈↓β␈↓ ¬oFONT SELECTION␈↓ ↓H
␈↓ ↓H␈β	`␈↓β␈↓1␈↓∂M␈↓¬<N>␈↓¬<FONT>␈↓∂;␈↓ βH␈↓β␈↓ β"(U)␈α⊂--␈α⊂causes␈α⊂the␈α⊂font␈α⊂to␈α⊂be␈α⊂loaded␈α⊂into␈α⊂pox␈α∂(and␈α∂later␈α∂into␈α∂the␈α∂system␈α∂XGP␈↓ β"
␈↓ β"␈β
␈↓β␈↓ β"service),␈αand␈αselects␈αit␈αnow␈α--␈αsee␈αnote␈α5␈αand␈αbug␈α2␈α--␈αthis␈αis␈αthe␈αcommand␈αthat␈↓ β"
␈↓ β"␈β
≡␈↓β␈↓ β"sets␈αup␈αthe␈αcorrespondence␈αbetween␈αfonts␈αand␈αthe␈α
numbers␈α
you␈α
will␈α
use␈α
later␈α
to␈↓ β"
␈↓ β"␈β
<␈↓β␈↓ β"select␈α∞them␈α∞--␈α∞type␈α∞to␈α∞the␈α∞system␈α
␈↓∂HELP␈α
FONT␈↓β␈α
to␈α
find␈α
out␈α
about␈α
fonts␈α
that␈α
are␈↓ β"
␈↓ β"␈β
Z␈↓β␈↓ β"available␈α∂and␈α∂how␈α∞to␈α∞peruse␈α∞them␈α∞--␈α∞always␈α∞define␈α∞one␈α∞of␈α∞your␈α∞fonts␈α∞as␈α∞with␈↓ β"
␈↓ β"␈β
x␈↓β␈↓ β"␈↓¬<N>␈↓β=␈↓∂0␈↓β,␈αotherwise␈αthe␈αsystem␈α(which␈αalways␈αinsists␈αon␈αhaving␈αfont#␈↓∂0␈↓β␈αaround␈αeven␈↓ β"
␈↓ β"␈β⊗␈↓β␈↓ β"if␈α
it␈α
has␈α
to␈α
make␈α
it␈αup)␈αwill␈αwaste␈αyour␈αtime␈αby␈αloading␈αone␈αmore␈αfont␈αthan␈αyou␈↓ β"
␈↓ β"␈β4␈↓β␈↓ β"are␈α
actually␈α
using.␈↓ β"
␈↓ ↓H␈βP␈↓β␈↓ ↓H␈↓1␈↓∂F␈↓¬<N>␈↓ αH␈↓ βλ␈↓β␈↓ β"(U␈αJ␈αCR␈αo)␈α--␈αselects␈αa␈αfont␈αwhich␈αhas␈αalready␈αbeen␈αloaded␈α--␈αall␈αtext␈αafter␈αthis␈↓ β"
␈↓ β"␈βn␈↓β␈↓ β"command␈α
before␈α
the␈α
next␈α
␈↓1␈↓∂F␈↓β␈α
or␈α
␈↓1␈↓∂M␈↓β␈α
will␈α
be␈α
in␈α
font#␈↓¬<N>␈↓β.␈↓ β"
␈↓ ↓H␈β␈↓β␈↓ ↓H␈↓1␈↓∂f␈↓¬<N>␈↓ αH␈↓ βλ␈↓β␈↓ β"(U␈αJ␈αCR)␈α--␈αselects␈αa␈αfont␈αfor␈αjust␈αone␈αcharacter,␈αthen␈αback␈αto␈αold␈αfont.␈αWARNING␈↓ β"
␈↓ β"␈β,␈↓β␈↓ β"--␈α⊃Do␈α⊃not␈α⊃place␈α⊃the␈α⊃brick␈α⊃character␈α⊃immediately␈α⊃after␈α⊂this␈α⊂command␈α⊂because␈↓ β"
␈↓ β"␈βJ␈↓β␈↓ β"currently␈α∞POX␈α∞will␈α∞quote␈α∞the␈α∞brick␈α∞character␈α
in␈α
the␈α
temporary␈α
font␈α
rather␈α
than␈↓ β"
␈↓ β"␈βh␈↓β␈↓ β"escaping␈αand␈αquoting␈αthe␈αfirst␈αcharacter␈αof␈αgenerated␈αtext␈αin␈αthe␈αtemporary␈αfont␈↓ β"
␈↓ β"␈β
ε␈↓β␈↓ β"--␈αbecause␈αthis␈αis␈αregarded␈αas␈αa␈αbug␈α
it␈α
might␈α
be␈α
changed␈α
someday␈α
--␈α
currently␈α
it␈↓ β"
␈↓ β"␈β
$␈↓β␈↓ β"generates␈α
a␈α
warning␈α
message.␈↓ β"
␈↓ ↓H␈β
B␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β
`␈↓β␈↓β␈↓ εεIGNORE TEXT␈↓ ↓H
␈↓ ↓H␈β
|␈↓β␈↓1␈↓∂␈↓β (vert. tab)␈↓β␈↓ β"(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
without␈α
changing␈α
mode,␈α
and␈α
without␈α
allowing␈α
EVERYPAGE␈αto␈αbe␈↓ β"
␈↓ β"␈β∞≤␈↓β␈↓ β"called␈α⊃here,␈α⊃ignore␈α⊃all␈α⊃input␈α⊃text␈α⊃up␈α⊃to␈α⊃and␈α⊃including␈α⊃the␈α⊂next␈α⊂linefeed,␈α⊂thus␈↓ β"
␈↓ β"␈β∞:␈↓β␈↓ β"concatination␈α⊂of␈α⊂input␈α⊂lines␈α⊂may␈α⊂be␈α⊂done␈α⊂providing␈α⊂that␈α⊂the␈α∂line-break␈α∂is␈α∂not␈↓ β"
␈↓ β"␈β∞X␈↓β␈↓ β"inside␈αsome␈αcommand␈αsyntax␈α--␈αif␈αyou␈αdo␈αthis␈αat␈αthe␈αbeginning␈α
of␈α
a␈α
line␈α
it␈α
is␈α
as␈α
if␈↓ β"
␈↓ β"␈β∞v␈↓β␈↓ β"the␈α∞whole␈α∞line␈α∞weren't␈α∞there,␈α∞thus␈α
comment␈α
lines␈α
may␈α
be␈α
inserted␈α
anywhere␈α
in␈↓ β"
␈↓ β"␈β∂∀␈↓β␈↓ β"the␈α
source␈αfile␈αexcept␈αin␈αthe␈αmiddle␈αof␈αmacro-body-definitions␈αand␈αin␈αthe␈αmiddle␈↓ β"
␈↓ β"␈β∂2␈↓β␈↓ β"of␈α⊃the␈α⊃syntax␈α⊃of␈α⊃brick-commands␈α⊃--␈α⊃this␈α⊃command␈α⊃is␈α⊃especially␈α⊃useful␈α⊃inside␈↓ β"
␈↓ 
j␈↓α 3␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 4␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ β"␈β↓H␈↓β␈↓ β"justify␈α∞or␈α∞centerify/rightify␈α∞mode␈α∞to␈α∞create␈α∞a␈α∞very␈α∞long␈α∞word␈α
or␈α
a␈α
complicated␈↓ β"
␈↓ β"␈β↓f␈↓β␈↓ β"formula␈αor␈αa␈αlong␈αsequence␈αof␈αarithmetic␈αoperations␈αwithout␈αleaving␈αthe␈αmode.␈αIt␈↓ β"
␈↓ β"␈βα∧␈↓β␈↓ β"is␈αalso␈αuseful␈αin␈αPASS-AS-IS␈αto␈αavoid␈αcalling␈αEVERYPAGE␈αjust␈αthen,␈αand␈αin␈α
macros␈↓ β"
␈↓ β"␈βα"␈↓β␈↓ β"that␈α
are␈α
likely␈α
to␈α
be␈α
called␈α
from␈α
almost␈α
anywhere.␈↓ β"
␈↓ ↓H␈βα>␈↓β␈↓ ↓H␈↓1␈↓∂N␈↓ αH␈↓ βH␈↓β␈↓ β"(U␈αJ␈αCR␈αo␈αA)␈α--␈αsame␈αas␈α␈↓1␈↓∂␈↓β␈αfor␈αpeople␈αwho␈αdon't␈αlike␈αvertical␈αtabs␈αin␈αtheir␈αtext␈↓ β"
␈↓ β"␈βα↑␈↓β␈↓ β"files.␈α
(They␈α
print␈α
out␈α
as␈α
␈↓¬<LF><LF><LF><LF>␈↓β␈α
on␈α
TTY's,␈α
dial-up␈α
lines␈α
and␈α
the␈α
LPT,␈α
as␈↓ β"
␈↓ β"␈βα|␈↓β␈↓ β""␈↓∂␈↓β"␈α∞on␈α∞local␈α∞DPY's␈α∞and␈α∞the␈α∞XGP,␈α∞as␈α∞<erase-to-end-of-screen>␈α∞on␈α∞some␈α
Beehive␈↓ β"
␈↓ β"␈ββ~␈↓β␈↓ β"terminals,␈α
and␈α
who-knows-what␈α
on␈α
other␈α
display␈α
terminals␈α
on␈α
the␈α
arpanet.)␈↓ β"
␈↓ ↓H␈ββ6␈↓β␈↓ ↓H␈↓1␈↓∂,␈↓β (comma)␈↓ αh␈↓β␈↓ β"(U␈αJ␈αCR␈α
o␈α
A)␈α
--␈α
same␈α
as␈α
␈↓1␈↓∂␈↓β␈α
except␈α
it␈α
ignores␈α
through␈α
next␈α
form-feed␈α
(page␈α
mark)␈↓ β"
␈↓ β"␈ββV␈↓β␈↓ β"thereby␈α∪making␈α∪concatinating␈α∪two␈α∪pages␈α∪into␈α∪one␈α∪--␈α∪if␈α∪you␈α∪do␈α∪this␈α∪at␈α∩the␈↓ β"
␈↓ β"␈ββt␈↓β␈↓ β"beginning␈α
of␈α
a␈α
page,␈α
it␈α
is␈α
as␈α
if␈α
the␈α
whole␈α
page␈α
weren't␈α
there.␈↓ β"
␈↓ ↓H␈β∧⊂␈↓β␈↓ ↓H␈↓1␈↓∂ ␈↓β (space)␈↓ αh␈↓β␈↓ β"(U␈α∂J␈α∞CR␈α∞o␈α∞A)␈α∞--␈α∞without␈α∞changing␈α∞mode,␈α∞ignore␈α∞all␈α∞input␈α∞text␈α∞(only␈α∞spaces␈α∞and␈↓ β"
␈↓ β"␈β∧0␈↓β␈↓ β"tabs␈αallowed)␈αup␈αto␈αand␈αincluding␈αthe␈αnext␈αsemicolon.␈αThis␈αis␈αuseful␈αfor␈αindenting␈↓ β"
␈↓ β"␈β∧N␈↓β␈↓ β"input-text␈α↔without␈α↔generating␈α↔spaces␈α↔or␈α↔tabs␈α⊗in␈α⊗the␈α⊗output.␈α⊗--␈α⊗Proposed␈↓ β"
␈↓ β"␈β∧l␈↓β␈↓ β"additional␈α⊃feature,␈α⊃if␈α⊃spaces␈α⊃and␈α⊃tabs␈α⊃are␈α⊃terminated␈α⊂by␈α⊂a␈α⊂printing␈α⊂character␈↓ β"
␈↓ β"␈β¬
␈↓β␈↓ β"other␈α
than␈α
semicolon,␈α
that␈α
character␈αwill␈αterminate␈αthis␈αmode␈αbut␈αwill␈αbe␈αunread␈↓ β"
␈↓ β"␈β¬(␈↓β␈↓ β"before␈α
returning␈α
to␈α
previous␈α
mode.␈↓ β"
␈↓ ↓H␈β¬D␈↓β␈↓ ↓H␈↓1␈↓∂␈↓ αH␈↓β (tab)␈↓ β8␈↓β␈↓ β"(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
same␈α
as␈α
␈↓1␈↓∂␈α
␈↓β(space).␈↓ β"
␈↓ ↓H␈β¬d␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓β␈↓ ∧GENTER SPECIAL-FORMATTING MODES (J CR)␈↓ ↓H
␈↓ ↓H␈βε≡␈↓β␈↓1␈↓∂J␈↓ αH␈↓ βH␈↓β␈↓ β"(U)␈α--␈αbegins␈αfull-justify␈αmode,␈αsee␈αtable␈αbelow␈αfor␈αdetails␈αon␈αthis␈αmode␈αand␈αhow␈↓ β"
␈↓ β"␈βε>␈↓β␈↓ β"to␈α∩get␈α∩out␈α∩of␈α∩it.␈α∩--␈α∩Be␈α∩aware␈α∩that,␈α∩because␈α∩font␈α⊃selects␈α⊃count␈α⊃as␈α⊃text␈α⊃and␈↓ β"
␈↓ β"␈βε\␈↓β␈↓ β"therefore␈α∂must␈α∂be␈α∂inside␈α∂words,␈α∂and␈α∂because␈α∂tabs␈α∂cannot␈α∂be␈α∂in␈α∂the␈α∞middle␈α∞of␈↓ β"
␈↓ β"␈βεz␈↓β␈↓ β"justified␈α
lines␈α
of␈α
text,␈α
the␈α
following␈α
input␈α
syntax␈α
is␈α
illegal␈α
and␈α
will␈α
generate␈αthe␈↓ β"
␈↓ β"␈βπ⊗␈↓β␈↓ β""illegal␈α∞tab␈α∞in␈α∞justify"␈α
error␈α
message:␈α
␈↓¬<CR><LF>␈↓1␈↓∂J␈↓1␈↓∂F1␈↓¬<TB>␈↓∂This␈α
is␈α
a␈α
paragraph␈↓ β"
␈↓ β"␈βπ6␈↓∂␈↓ β"of␈α
text␈↓β...␈↓ β"
␈↓ ↓H␈βπR␈↓β␈↓ ↓H␈↓1␈↓∂R␈↓ αH␈↓ βH␈↓β␈↓ β"(U)␈α⊃--␈α⊃begins␈α⊃single-line␈α⊂align-against-right-margin␈α⊂mode,␈α⊂see␈α⊂table␈α⊂below␈α⊂for␈↓ β"
␈↓ β"␈βπr␈↓β␈↓ β"details␈α
on␈α
this␈α
mode␈α
and␈α
how␈α
to␈α
get␈α
out␈α
of␈α
it.␈↓ β"
␈↓ ↓H␈βλ∞␈↓β␈↓ ↓H␈↓1␈↓∂C␈↓ αH␈↓ βH␈↓β␈↓ β"(U)␈α--␈αbegins␈αsingle-line␈αcenter-the-line␈αmode,␈αsee␈αtable␈αbelow␈α
for␈α
details␈α
on␈α
this␈↓ β"
␈↓ β"␈βλ.␈↓β␈↓ β"mode␈α
and␈α
how␈α
to␈α
get␈α
out␈α
of␈α
it.␈↓ β"
␈↓ ↓H␈βλL␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βλj␈↓β␈↓β␈↓ ∧	EXIT SPECIAL-FORMATTING MODES, ETC. (SEE TABLE)␈↓ ↓H
␈↓ ↓H␈β	ε␈↓β␈↓1␈↓∂.␈↓β (period)␈↓ ↓H
␈↓ ↓H␈β	$␈↓β␈↓1␈↓∂;␈↓β (semicolon)␈↓β␈↓ β"These␈αtwo␈αcommands␈αwill␈α
get␈α
out␈α
of␈α
some␈α
modes␈α
back␈α
to␈α
pass-as-is␈α
mode,␈α
and␈α
do␈↓ β"
␈↓ β"␈β	D␈↓β␈↓ β"other␈αthings␈αlike␈αignoring␈αtext␈αand␈αsuppressing␈α<CR><LF>␈α--␈αsee␈αtable␈αbelow␈αfor␈↓ β"
␈↓ β"␈β	b␈↓β␈↓ β"details␈α
of␈α
what␈α
each␈α
command␈α
does␈α
inside␈α
each␈α
of␈α
the␈α
modes:␈↓ β"
␈↓ ↓H␈β
␈↓β␈↓ ↓H␈↓ ↓H
␈∧
~α"α
Z␈∧
~|xα␈∧
~α"xα␈↓ ↓H␈β
≤␈↓β␈↓ α,␈↓1␈↓∂.␈↓ ¬n␈↓1␈↓∂;␈↓ λ.␈↓¬<CR><LF>␈↓  ␈↓¬<TB>␈↓β or ␈↓¬<SP>␈↓ ↓H
␈∧
8(αT␈∧
8(Zα␈↓ ↓H␈β
:␈↓¬␈↓ 2␈↓βPass-as-is␈↓ α,␈↓β(not supported)␈↓ ¬n␈↓βdo ␈↓1␈↓∂N␈↓β (see #4)␈↓ λ.␈↓βcopy to output (see #4)␈↓  ␈↓βcopy to output␈↓ ↓H
␈↓ ↓H␈β
X␈↓β␈↓ 2␈↓βJustify␈↓ α,␈↓βfinish, do ␈↓1␈↓∂N␈↓β, ␈↓β(see #5)␈↓ ¬nillegal␈↓ λ.(see #1)␈↓  (see #2)␈↓ ↓H
␈↓ ↓H␈β
v␈↓β␈↓ 2Centerify/Rightify␈↓ α,finish, pass-as-is␈↓ ¬nfinish, do ␈↓1␈↓β␈↓∂N␈↓β, pass-as-is␈↓ λ.finish, ␈↓¬<CR><LF>␈↓β, pass-as-is␈↓  (see #3)␈↓ ↓H
␈∧∩(αT␈↓ ↓H␈β⊗␈↓β␈↓ ↓H
␈↓ ↓H␈β4␈↓β␈↓β␈↓ ↓H#1␈α∞--␈α∞A␈α∞blank␈α∞line␈α∞(i.e.␈α
␈↓¬<CR><LF>␈↓β␈α
immediately␈α
followed␈α
by␈α
␈↓¬<CR><LF>␈↓β)␈α
causes␈α
the␈α
previous␈α
paragraph␈α
(if␈↓ ↓H
␈↓ ↓H␈βR␈↓β␈↓ ↓Hany␈αis␈αin␈αprogress)␈αto␈αbe␈αfinished,␈αthen␈αa␈αblank␈αline␈αis␈αemitted.␈αAs␈αmany␈αblank␈αlines␈αas␈αappear␈αin␈αinput␈↓ ↓H
␈↓ ↓H␈βp␈↓β␈↓ ↓Hwill␈α⊃appear␈α⊃in␈α⊃output␈α⊃(but␈α⊃see␈α⊂BUG#4).␈α⊂The␈α⊂next␈α⊂nonblank␈α⊂line␈α⊂begins␈α⊂a␈α⊂new␈α⊂paragraph.␈α⊂A␈α⊂single␈↓ ↓H
␈↓ ↓H␈β∞␈↓β␈↓ ↓H␈↓¬<CR><LF>␈↓β␈α
in␈α
a␈α
paragraph␈α
is␈α
merely␈α
a␈α
break␈α
between␈α
words.␈↓ ↓H
␈↓ ↓H␈β,␈↓β␈↓ ↓H
␈↓ ↓H␈βJ␈↓β␈↓ ↓H#2␈α--␈αOne␈αor␈αmore␈α
tabs␈α
at␈α
the␈α
beginning␈α
of␈α
a␈α
line␈α
causes␈α
the␈α
previous␈α
paragraph␈α
(if␈α
any␈α
is␈α
in␈α
progress)␈↓ ↓H
␈↓ ↓H␈βh␈↓β␈↓ ↓Hto␈α⊃be␈α⊃finished,␈α⊃then␈α⊃a␈α⊃new␈α⊃paragraph␈α⊃is␈α⊃started␈α⊃with␈α⊃its␈α⊂first␈α⊂line␈α⊂indented␈α⊂by␈α⊂the␈α⊂tab(s).␈α⊂Tab(s)␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓Helsewhere␈αare␈αillegal.␈αNOTE␈α--␈αThere␈αis␈αcurrently␈αno␈αway␈αto␈αindent␈αby␈αany␈αamount␈αother␈αthan␈αa␈αwhole␈↓ ↓H
␈↓ ↓H␈β
$␈↓β␈↓ ↓Hnumber␈α
of␈α
tabs,␈α
nor␈α
is␈α
there␈α
any␈α
way␈α
to␈α
outdent␈α
by␈α
any␈α
amount␈α
at␈α
all.␈↓ ↓H
␈↓ ↓H␈β
B␈↓β␈↓ ↓H
␈↓ ↓H␈β
`␈↓β␈↓ ↓H#3␈α--␈αTab(s)␈α
and/or␈α
space(s)␈α
at␈α
the␈α
beginning␈α
are␈α
ignored␈α
(in␈α
centerify␈α
this␈α
makes␈α
things␈α
look␈α
pretty,␈α
in␈↓ ↓H
␈↓ ↓H␈β
}␈↓β␈↓ ↓Hrightify␈αit␈αdoesn't␈αmake␈αany␈αdifference).␈αElsewhere␈αtabs␈αare␈αillegal␈αand␈α
spaces␈α
are␈α
treated␈α
as␈α
text.␈α
(The␈↓ ↓H
␈↓ ↓H␈β∞≤␈↓β␈↓ ↓Hfeature␈αof␈αignoring␈αtabs␈αand␈αspaces␈αat␈α
the␈α
end␈α
is␈α
currently␈α
under␈α
consideration␈α
so␈α
don't␈α
rely␈α
on␈α
spaces␈↓ ↓H
␈↓ ↓H␈β∞:␈↓β␈↓ ↓Hbeing␈α
treated␈α
as␈α
text␈α
there.)␈↓ ↓H
␈↓ ↓H␈β∞X␈↓β␈↓ ↓H
␈↓ ↓H␈β∞v␈↓β␈↓ ↓H#4␈α--␈αAfter␈αperforming␈αthe␈αindicated␈αoperation,␈αif␈αthe␈αEVERYPAGE␈αfeature␈αhas␈αbeen␈αrequested␈αfor␈αthis␈↓ ↓H
␈↓ ↓H␈β∂∀␈↓β␈↓ ↓Hpage␈α∞(i.e.␈α∞if␈α∞VEREVE␈α∞was␈α∞TRUE␈α∞at␈α∞the␈α∞end␈α∞of␈α∞the␈α∞preceeding␈α∞page)␈α∞but␈α∞not␈α∞yet␈α
performed,␈α
then␈α
the␈↓ ↓H
␈↓ ↓H␈β∂2␈↓β␈↓ ↓Hbody␈αof␈α
the␈α
macro␈α
EVERYPAGE␈α
is␈α
patched␈α
into␈α
the␈α
input␈α
stream␈α
at␈α
this␈α
point.␈α
This,␈α
of␈α
course,␈α
is␈α
likely␈α
to␈↓ ↓H
␈↓ 
j␈↓α 4␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 5␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓Hclobber␈α
any␈α
registers␈α
(including␈α
the␈α
ac)␈α
that␈αare␈αused␈αby␈αthe␈αEVERYPAGE␈αmacro,␈αunless␈αyou␈αcarefully␈↓ ↓H
␈↓ ↓H␈β↓f␈↓β␈↓ ↓Hwrite␈α
your␈α
EVERYPAGE␈α
macro␈α
so␈α
that␈α
it␈α
saves␈α
and␈α
restores␈α
the␈α
ac␈α
and␈α
any␈α
other␈α
registers␈α
it␈α
uses.␈↓ ↓H
␈↓ ↓H␈βα∧␈↓β␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓ ↓H#5␈α∂--␈α∂Register␈α∂"."␈α∂is␈α∂restored␈α∂to␈α∂the␈α∂value␈α∂it␈α∂had␈α∂before␈α∞you␈α∞entered␈α∞justify␈α∞mode,␈α∞then␈α∞control␈α∞is␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓Hpassed␈α
back␈α
to␈α
PASS-AS-IS␈α
mode.␈α
If␈α
"."␈α
was␈α
not␈α
at␈α
the␈α
left␈α
margin,␈α
I␈α
make␈α
no␈α
claims␈αabout␈αwhat␈αPOX␈↓ ↓H
␈↓ ↓H␈βα\␈↓β␈↓ ↓Hthinks␈α
you␈α
are␈α
trying␈α
to␈α
do.␈α
I␈α
advise␈α
you␈αto␈αbe␈αsure␈α"."␈αis␈αat␈αleft␈αmargin␈αbefore␈αdoing␈α␈↓1␈↓∂J␈↓β␈αin␈αorder␈αto␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓ ↓Havoid␈α
trouble␈α
and␈α
in␈α
case␈α
the␈α
implementation␈α
is␈α
changed.␈↓ ↓H
␈↓ ↓H␈ββ~␈↓β␈↓ ↓H
␈↓ ↓H␈ββ4␈↓β␈↓␈↓ ¬	Examples of basic commands␈↓ ↓H
␈↓ ↓H␈ββV␈↓␈↓β␈↓ α_In this writeup I loaded the following fonts (␈↓∂$␈↓β is the escape character):␈↓∂␈↓ ↓H
␈↓ ↓H␈ββt␈↓∂$M0NGR30;$M1NGR30;$M2BDI25;$M3NGR25;$M4NGB25[1,REM];$M5NGR20[1,REM];$M6XMAS25;␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓∂$MFKBD25;$MC75224X.FNT[1,REM];␈↓ ↓H
␈↓ ↓H␈β∧0␈↓∂␈↓β␈↓ ↓H(Note␈αthat␈αNGR30␈αis␈αnot␈αreally␈αloaded␈αtwice␈αbecause␈αwhen␈αPOX␈αsees␈αthe␈α␈↓∂$M1␈↓β...␈αcommand␈αit␈αnotices␈αthat␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓ ↓H␈↓∂NGR30␈↓β␈α∂is␈α∂already␈α∂loaded␈α∂as␈α∂font#␈↓∂0␈↓β␈α∂and␈α∂POX␈α∂then␈α∂merely␈α∂maps␈α∂user␈α∂font␈α∂number␈α∂␈↓∂1␈↓β␈α∂to␈α∂system␈α∂font␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓ ↓Hnumber␈α
␈↓∂0␈↓β␈α
by␈α
means␈α
of␈α
the␈α
font␈α
mapping␈α
table␈α
in␈α
POX.␈↓ ↓H
␈↓ ↓H␈β¬
␈↓β␈↓ α_Later␈α
in␈α
this␈α
writeup,␈α
in␈α
a␈α
required-source␈α
file,␈α
the␈α
following␈α
load-font␈α
commands␈α
appear:␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓∂\M0CLAR30;\M1NGB25[1,REM];\M2NGR20[1,REM];\M3BDI25;␈↓ ↓H
␈↓ ↓H␈β¬F␈↓∂\M9GRK30;\MEGRKL50;\MF75224X.FNT[1,REM];␈↓ ↓H
␈↓ ↓H␈β¬d␈↓∂␈↓β␈↓ ↓HOnly␈αthe␈αfonts␈αnot␈αpreviously␈αloaded␈αare␈αloaded␈αnow.␈αThe␈αrest␈αare␈αmerely␈α
mapped␈α
to␈α
their␈α
system␈α
font␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ ↓Hnumbers␈α
(assigned␈α
when␈α
first␈α
loaded)␈α
from␈α
their␈α
new␈α
user␈α
font␈α
numbers.␈↓ ↓H
␈↓ ↓H␈βε≡␈↓β␈↓ α_This␈αparagraph␈αand␈αall␈αother␈αjustified␈αtext␈αat␈αnormal␈αmargins␈αwas␈αdone␈αby␈α
using␈α
␈↓1␈↓∂J␈↓β␈α
to␈α
enter␈α
and␈↓ ↓H
␈↓ ↓H␈βε<␈↓β␈↓ ↓H␈↓1␈↓∂.␈↓β␈α
to␈α
exit␈α
justify␈α
mode.␈α
(See␈α
the␈α
section␈α
on␈α
REGISTERS␈α
for␈α
how␈α
indented␈α
paragraphs␈αof␈αdescriptions␈↓ ↓H
␈↓ ↓H␈βεZ␈↓β␈↓ ↓Hafter␈α
each␈α
command␈α
syntax␈α
was␈α
done␈α
by␈α
the␈α␈↓1␈↓∂j␈↓β␈αcommand.)␈αThe␈αtitle␈αon␈αthe␈αfirst␈αpage␈αis␈αin␈αcenterify␈↓ ↓H
␈↓ ↓H␈βεx␈↓β␈↓ ↓Hmode,␈α
using␈α
␈↓1␈↓∂C␈↓β␈α
to␈αenter␈αand␈α␈↓¬<CR><LF>␈↓β␈αto␈αexit.␈α(The␈αtitles␈αon␈αother␈αpages␈αare␈αdone␈αby␈αoverlays,␈αwhich␈↓ ↓H
␈↓ ↓H␈βπ_␈↓β␈↓ ↓Hare␈α
also␈α
explained␈α
later␈α
in␈α
this␈α
writeup.)␈↓ ↓H
␈↓ ↓H␈βπ6␈↓β␈↓ ↓H
␈↓ ↓H␈βπT␈↓β␈↓ α_Here␈α
are␈α
some␈α
further␈α
examples␈α
of␈α
the␈α
above␈α
commands:␈↓ ↓H
␈↓ ↓H␈βπr␈↓β␈↓∂$F1This line $F2is in $F3several fonts.  $f1Temp $f1font $f1selects␈↓ ↓H
␈↓ ↓H␈βλ␈↓∂␈↓This line ␈↓αis in ␈↓βseveral fonts.  ␈↓T␈↓βemp ␈↓f␈↓βont ␈↓s␈↓βelects␈↓ ↓H
␈↓ ↓H␈βλ.␈↓β␈↓ ↓H
␈↓ ↓H␈βλL␈↓β␈↓∂$F5$CThis line has antidisestablishmentarianismfoogarplylongwordthatis$N␈↓ ↓H
␈↓ ↓H␈βλj␈↓∂allinthesinglewordininthemiddleofthislineofcenteredtext as you see.␈↓ ↓H
␈↓ ↓H␈β	␈↓∂␈↓¬␈↓ ↓eThis line has antidisestablishmentarianismfoogarplylongwordthatisallinthesinglewordininthemiddleofthislineofcenteredtext as you see.␈↓ ↓H
␈↓ ↓H␈β	*␈↓¬␈↓ ↓H
␈↓ ↓H␈β	D␈↓¬␈↓∂$F3Hello there.$RWell, hello to you too$;␈↓ ↓H
␈↓ ↓H␈β	b␈↓∂$C(Middle on same line)␈↓ ↓H
␈↓ ↓H␈β
␈↓∂␈↓βHello there.␈↓ 	ZWell, hello to you too␈↓ αW␈↓ ¬S(Middle on same line)␈↓ ↓H
␈↓ ↓H␈β
≡␈↓β␈↓ ↓H
␈↓ ↓H␈β
<␈↓β␈↓∂$F3Left part $f1$CThis didn't get centered, see next example for fix␈↓ ↓H
␈↓ ↓H␈β
V␈↓∂␈↓βLeft part ␈↓$␈↓βCThis didn't get centered, see next example for fix␈↓ ↓H
␈↓ ↓H␈β
x␈↓β␈↓ ↓H
␈↓ ↓H␈β⊗␈↓β␈↓∂$F3Left part $C$f1This got centered ok.␈↓ ↓H
␈↓ ↓H␈β0␈↓∂␈↓βLeft part ␈↓ ¬P␈↓T␈↓βhis got centered ok.␈↓ ↓H
␈↓ ↓H␈βR␈↓β␈↓ ↓H
␈↓ ↓H␈βp␈↓β␈↓∂$F3For the same reason $f1$'14; doesn't do what you would want.␈↓ ↓H
␈↓ ↓H␈β
␈↓∂␈↓βFor the same reason ␈↓$␈↓β'14; doesn't do what you would want.␈↓ ↓H
␈↓ ↓H␈β,␈↓β␈↓ ↓H
␈↓ ↓H␈βJ␈↓β␈↓∂$F3But in this case some commands discussed later, $#$F1$'14;$G, do the trick.␈↓ ↓H
␈↓ ↓H␈βh␈↓∂␈↓βBut in this case some commands discussed later, ␈↓␈␈↓β, do the trick.␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓H
␈↓ ↓H␈β
 ␈↓β␈↓␈↓ ελREGISTERS␈↓ ↓H
␈↓ ↓H␈β
5␈↓␈↓β␈↓ α_There␈α∩are␈α∩2␈↓#
7␈↓#=128␈α∩registers␈α∩which␈α∩can␈α∩hold␈α∩any␈α∩36-bit␈α∩integer␈α∩(PDP-10␈α∩two's␈α∩complement␈↓ ↓H
␈↓ ↓H␈β
`␈↓β␈↓ ↓Hformat),␈α∞such␈α∞as␈α∞the␈α∞horizontal␈α∞coordinate␈α∞of␈α
some␈α
column␈α
on␈α
the␈α
page.␈α
(␈↓αNote␈↓β␈α
--␈α
all␈α
locations␈α
on␈α
the␈↓ ↓H
␈↓ ↓H␈β
}␈↓β␈↓ ↓HXGP,␈αwhether␈αrelative␈αor␈αabsolute,␈αare␈αmeasured␈αin␈αXGP␈αpixels␈αwhich␈αare␈αabout␈α5␈αmils,␈αi.e.␈α1/200␈αinch)␈↓ ↓H
␈↓ ↓H␈β∞≤␈↓β␈↓ ↓HThe␈α∞idea␈α∞is␈α∞to␈α∞allow␈α∞specification␈α∞of␈α
multi-column␈α
tables␈α
and␈α
␈↓αsuperscripts-above-subscripts␈↓β␈α
in␈α
an␈α
easy␈↓ ↓H
␈↓ ↓H␈β∞:␈↓β␈↓ ↓Hand␈α
flexable␈α
way,␈α
including␈α
automatic␈α
allocation␈α
of␈α
such␈α
things␈α
as␈α"␈↓α1/5␈αof␈αa␈αpage␈↓β"␈αby␈αsimple␈αdivision,␈↓ ↓H
␈↓ ↓H␈β∞X␈↓β␈↓ ↓Hand␈α⊂to␈α∂perform␈α∂any␈α∂other␈α∂integer␈α∂arithmetic␈α∂or␈α∂logic␈α∂that␈α∂might␈α∂be␈α∂useful␈α∂during␈α∂compilations␈α∂of␈α∂a␈↓ ↓H
␈↓ ↓H␈β∞v␈↓β␈↓ ↓Hdocument.␈α⊃Each␈α⊃register␈α⊃is␈α⊃specified␈α⊂by␈α⊂an␈α⊂ASCII␈α⊂character.␈α⊂(␈↓αNote␈↓β␈α⊂--␈α⊂in␈α⊂general,␈α⊂POX␈α⊂distinguishes␈↓ ↓H
␈↓ ↓H␈β∂∀␈↓β␈↓ ↓Hbetween␈α⊂upper-␈α⊂and␈α⊂lower-case␈α⊂characters␈α⊂--␈α⊂for␈α⊂example,␈α⊂"␈↓∂k␈↓β"␈α⊂and␈α⊂"␈↓∂K␈↓β"␈α⊂do␈α⊂not␈α∂refer␈α∂to␈α∂the␈α∂same␈↓ ↓H
␈↓ ↓H␈β∂2␈↓β␈↓ ↓Hregister.)␈αOne␈αof␈αthe␈αnon-alphanumeric␈αregisters␈α(currently␈αregister␈α␈↓∂∀␈↓β)␈αis␈αcalled␈αthe␈α"␈↓αaccumulator␈↓β"␈αand␈↓ ↓H
␈↓ 
j␈↓α 5␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 6␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓His␈α∂the␈α∂intermediate␈α∂storage␈α∂for␈α∞most␈α∞sequences␈α∞of␈α∞arithmetic␈α∞calculation.␈α∞Other␈α∞special␈α∞registers␈α∞are␈↓ ↓H
␈↓ ↓H␈β↓f␈↓β␈↓ ↓Hlisted␈α∞below,␈α∞as␈α∞well␈α∞as␈α∞characters␈α∞that␈α∞don't␈α∞specify␈α∞registers␈α∞at␈α
all.␈α
(␈↓αWarning␈↓β␈α
--␈α
non-alphanumeric␈↓ ↓H
␈↓ ↓H␈βα∧␈↓β␈↓ ↓Hregister␈α∂names␈α∂are␈α∞liable␈α∞to␈α∞be␈α∞changed␈α∞to␈α∞special␈α∞arguments␈α∞like␈α∞"."␈α∞and␈α∞","␈α∞without␈α∞much␈α∞warning.␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓ ↓HTherefore,␈α
please␈α
use␈α
only␈α
alphanumeric␈α
register␈α
names␈α
in␈α
files␈α
that␈α
you␈α
will␈α
be␈α
unwilling␈α
to␈α
maintain.)␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓H
␈↓ ↓H␈βαZ␈↓β␈↓Meaning of argument(s) to the commands:␈↓ ↓H
␈↓ ↓H␈βα|␈↓␈↓¬<CH>␈↓ αλ␈↓ αH␈↓β␈↓ β"If␈α
not␈α
mentionned␈α
below,␈α
contents␈α
of␈α
register␈α
corresponding␈α
to␈α
that␈α
character.␈↓ β"
␈↓ ↓H␈ββ~␈↓β␈↓ ↓H␈↓∂. ␈↓β(period)   ␈↓ β"Current␈α⊂column␈α∂location␈α∂(increases␈α∂as␈α∂you␈α∂move␈α∂to␈α∂the␈α∂right)␈α∂is␈α∂stored␈α∂in␈α∂the␈↓ β"
␈↓ β"␈ββ8␈↓β␈↓ β"right␈α⊃half␈α⊃of␈α⊃this␈α⊃register.␈α⊃Every␈α⊃time␈α⊃a␈α⊂character␈α⊂is␈α⊂written,␈α⊂this␈α⊂register␈α⊂is␈↓ β"
␈↓ β"␈ββV␈↓β␈↓ β"updated␈α
to␈α
account␈α
for␈α
the␈α
space␈αused␈αup␈αby␈αthe␈αcharacter,␈αand␈αif␈αyou␈αwrite␈αin␈↓ β"
␈↓ β"␈ββt␈↓β␈↓ β"this␈α
register,␈α
a␈α
column␈α
select␈α
will␈α
be␈αgenerated␈αin␈αyour␈αoutput␈αfile␈αto␈αreally␈αput␈↓ β"
␈↓ β"␈β∧∩␈↓β␈↓ β"you␈αthere.␈α(U)␈αIn␈αpass-as-is␈αmode,␈αthis␈αcolumn␈αlocation␈αis␈α
relative␈α
to␈α
the␈α
left␈α
edge␈↓ β"
␈↓ β"␈β∧0␈↓β␈↓ β"of␈αthe␈αpaper␈αand␈αshould␈αbe␈αin␈αthe␈αrange␈αof␈α50␈α
to␈α
1650␈α
(decimal)␈α
usually.␈α
The␈α
left␈↓ β"
␈↓ β"␈β∧N␈↓β␈↓ β"half␈α
of␈α
this␈α
register␈α
is␈α
zero␈α
in␈α
this␈α
case.␈α
(J)␈α
In␈αjustify␈αmode,␈αit␈αis␈αrelative␈αto␈αthe␈↓ β"
␈↓ β"␈β∧l␈↓β␈↓ β"beginning␈α⊂of␈α⊂the␈α⊂current␈α⊂word␈α⊂of␈α⊂text␈α⊂(delimited␈α⊂by␈α⊂␈↓¬<SP>␈↓β␈α⊂or␈α⊂␈↓¬<TB>␈↓β␈α⊂or␈α∂␈↓¬<CR><LF>␈↓β␈↓ β"
␈↓ β"␈β¬
␈↓β␈↓ β"except␈α∩that␈α∩␈↓¬<SP>␈↓β␈α∩does␈α∩not␈α∩delimit␈α∩if␈α∩it␈α∩is␈α∩not␈α∩on␈α⊃the␈α⊃baseline).␈α⊃A␈α⊃relocation␈↓ β"
␈↓ β"␈β¬(␈↓β␈↓ β"identifier␈α∞is␈α∞in␈α∞the␈α∞left␈α∞half␈α∞of␈α∞the␈α∞register␈α∞to␈α∞allow␈α∞checking␈α∞for␈α∞illegal␈α
column␈↓ β"
␈↓ β"␈β¬F␈↓β␈↓ β"selects.␈α⊃(CR)␈α⊃In␈α⊃centerify/rightify␈α⊃mode,␈α⊃it␈α⊂is␈α⊂relative␈α⊂to␈α⊂the␈α⊂beginning␈α⊂of␈α⊂the␈↓ β"
␈↓ β"␈β¬d␈↓β␈↓ β"centered/rightified␈α
text␈α
with␈αa␈αpassword␈αin␈αthe␈αleft␈αhalf␈αas␈αif␈αthe␈αtext␈αwere␈αone␈↓ β"
␈↓ β"␈βεα␈↓β␈↓ β"big␈α↔word.␈α↔--␈α↔In␈α↔atomic-text-overlays␈α↔and␈α↔arguments␈α↔to␈α⊗macros,␈α⊗it␈α⊗is␈α⊗not␈↓ β"
␈↓ β"␈βε ␈↓β␈↓ β"implemented␈α∞although␈α∞you␈α∞are␈α∞not␈α
prevented␈α
from␈α
totally␈α
screwing␈α
yourself␈α
by␈↓ β"
␈↓ β"␈βε>␈↓β␈↓ β"the␈αattempt␈αto␈αstore␈αin␈αthis␈αregister,␈αor␈αgetting␈αworthless␈αundocumented␈αdata␈αby␈↓ β"
␈↓ β"␈βε\␈↓β␈↓ β"reading␈α
from␈α
this␈α
register.␈↓ β"
␈↓ ↓H␈βεz␈↓β␈↓ ↓H␈↓∂, ␈↓β(comma)    ␈↓ β"This␈αregister␈αworks␈αsomewhat␈αlike␈αperiod,␈αcurrent␈αrelative␈αposition␈αof␈αtext␈αabove␈↓ β"
␈↓ β"␈βπ⊂␈↓β␈↓ β"baseline␈α(if␈αnegative,␈α
below␈α
baseline)␈α
--␈α
thus␈α
␈↓1␈↓∂←␈↓¬␈↓εq␈↓¬␈↓1␈↓∂→,␈↓β␈α
replaces␈α
␈↓1␈↓∂↑␈↓¬␈↓εq␈↓¬␈↓β␈α
and␈α
␈↓1␈↓∂↓␈↓¬␈↓εq␈↓¬␈↓β'␈α
as␈↓ β"
␈↓ β"␈βπ4␈↓β␈↓ β"well␈α
as␈α
␈↓1␈↓∂∩␈↓β␈α
and␈α
␈↓1␈↓∂∪␈↓β.␈α
(U␈α
J␈α
CR)␈↓ β"
␈↓ ↓H␈βπT␈↓β␈↓ ↓H␈↓∂; ␈↓β(semicolon)␈↓β␈↓ β"Like␈α"."␈αor␈α","␈α--␈αabsolute␈αposition␈αbelow␈αtop␈αof␈αpage␈α(if␈αenabled,␈αsee␈αnote␈α4␈αand␈↓ β"
␈↓ β"␈βπp␈↓β␈↓ β"the␈α
␈↓1␈↓∂⊂␈↓β␈α
command).␈↓ β"
␈↓ ↓H␈βλ⊂␈↓β␈↓ ↓H␈↓∂L␈↓ αH␈↓ βH␈↓β␈↓ β"Left␈αmargin␈αis␈αstored␈αin␈αthis␈αregister␈α(<CR>␈αcauses␈α
column␈α
select␈α
here␈α
--␈α
see␈α
also␈↓ β"
␈↓ β"␈βλ,␈↓β␈↓ β"␈↓1␈↓∂J␈α
␈↓1␈↓∂C␈α
␈↓1␈↓∂R␈α
␈↓1␈↓∂O␈α
␈↓1␈↓∂W␈↓β).␈↓ β"
␈↓ ↓H␈βλL␈↓β␈↓ ↓H␈↓∂R␈↓ αH␈↓ βH␈↓β␈↓ β"Right␈αmargin␈α(for␈αJ␈αand␈αCR␈αmodes,␈αand␈αfor␈αwarning␈αyou␈α
if␈α
you␈α
try␈α
to␈α
write␈α
past␈α
it␈↓ β"
␈↓ β"␈βλj␈↓β␈↓ β"in␈α
pass-as-is␈α
mode)␈α
is␈α
stored␈α
in␈α
this␈α
register.␈↓ β"
␈↓ ↓H␈β	λ␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β	&␈↓β␈↓∂'␈↓¬<SIGNED OR UNSIGNED OCTAL NUMBER>␈↓∂;␈↓ ¬H␈↓ ↓H
␈↓ ↓H␈β	D␈↓∂␈↓β␈↓ β"Instead␈αof␈αreading␈αa␈α
number␈α
from␈α
a␈α
register,␈α
these␈α
octal␈α
digits␈α
are␈α
assembled␈α
into␈↓ β"
␈↓ β"␈β	b␈↓β␈↓ β"a␈α
constant␈α
and␈α
that␈α
constant␈α
acts␈α
as␈α
an␈α
immediate␈α
operand␈α
(READONLY).␈↓ β"
␈↓ ↓H␈β
␈↓β␈↓ ↓H␈↓∂=␈↓¬<SIGNED OR UNSIGNED DECIMAL NUMBER>␈↓∂;␈↓ ¬H␈↓βSame as above except decimal conversion (READONLY).␈↓ ↓H
␈↓ ↓H␈β
≡␈↓β␈↓∂w␈↓¬<CH>␈↓ αH␈↓β␈↓ β"Width␈α
of␈α
character␈α
␈↓¬<CH>␈↓β␈α
in␈α
current␈α
font␈α
(READONLY).␈↓ β"
␈↓ ↓H␈β
:␈↓β␈↓ ↓H␈↓∂H␈↓ αH␈↓ βH␈↓β␈↓ β"Total␈α
height␈α
of␈α
current␈α
font␈α
(READONLY)␈α
(if␈α
enabled,␈α
see␈α
the␈α
␈↓1␈↓∂⊂␈↓β␈α
command).␈↓ β"
␈↓ ↓H␈β
X␈↓β␈↓ ↓H␈↓∂h␈↓ αH␈↓ βH␈↓β␈↓ β"Height␈α∀above␈α∀baseline␈α∀of␈α∀current␈α∀font␈α∪(READONLY)␈α∪(if␈α∪enabled,␈α∪see␈α∪the␈α∪␈↓1␈↓∂⊂␈↓β␈↓ β"
␈↓ β"␈β
x␈↓β␈↓ β"command).␈↓ β"
␈↓ ↓H␈β⊗␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β4␈↓β␈↓β␈↓ α_The␈α⊃arguments␈α⊃marked␈α⊃"(READONLY)"␈α⊃above␈α⊃are␈α⊃forbidden␈α⊃in␈α⊃certain␈α⊃commands␈α⊂because␈α⊂the␈↓ ↓H
␈↓ ↓H␈βR␈↓β␈↓ ↓Hcommand␈α∞expects␈α∞to␈α∞have␈α∞a␈α∞genuine␈α∞register␈α∞to␈α∞store␈α
data␈α
into.␈α
This␈α
restriction␈α
will␈α
be␈α
indicated␈α
by␈↓ ↓H
␈↓ ↓H␈βp␈↓β␈↓ ↓H"READONLY␈α
operands␈α
not␈α
allowed"␈α
in␈α
the␈α
command␈α
descriptions.␈↓ ↓H
␈↓ ↓H␈β∞␈↓β␈↓ α_Throughout␈αthe␈αremainder␈αof␈αthis␈αwriteup,␈α
command-arguments␈α
that␈α
that␈α
are␈α
parsed␈α
in␈α
the␈α
above␈↓ ↓H
␈↓ ↓H␈β,␈↓β␈↓ ↓Hway␈α∂will␈α∂be␈α∂denoted␈α∂by␈α∂various␈α∂alphanumeric␈α∂characters␈α∂in␈α∞a␈α∞special␈α∞font,␈α∞to␈α∞distinguish␈α∞them␈α∞from␈↓ ↓H
␈↓ ↓H␈βJ␈↓β␈↓ ↓Hcharacters␈α∞that␈α∞you␈α∞are␈α∞supposed␈α∞to␈α∞actually␈α
type␈α
(which␈α
are␈α
in␈α
a␈α
keyboard-style␈α
font␈α
as␈α
described␈↓ ↓H
␈↓ ↓H␈βh␈↓β␈↓ ↓Hearlier),␈α
and␈α
BNF-style␈αsyntactical␈αentities␈α(which␈αare␈αin␈αyet␈αanother␈αfont␈αas␈αalso␈αshown␈αearlier).␈αHere␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓Hare␈α
what␈α
the␈α
alphanumerics␈α
look␈α
like␈α
in␈α
the␈α
argument␈α
font:␈↓ ↓H
␈↓ ↓H␈β
≤␈↓β␈↓εabcdefghijklmnopqrstuvwxyz␈↓β␈↓ ↓H
␈↓ ↓H␈β
B␈↓β␈↓ ↓H
␈↓ ↓H␈β
\␈↓β␈↓The commands that use the types of arguments described above:␈↓ ↓H
␈↓ ↓H␈β
}␈↓␈↓β␈↓ ∧;LOAD/STORE/ARITHMETIC/LOGIC OPERATIONS␈↓ ↓H
␈↓ ↓H␈β∞∀␈↓β␈↓1␈↓∂←␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
load␈α
ac␈α
from␈α
␈↓εq␈↓β.␈↓ ββ
␈↓ ↓H␈β∞2␈↓β␈↓ ↓H␈↓1␈↓∂→␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α⊂J␈α⊂CR␈α⊂o␈α⊂A)␈α⊂--␈α∂store␈α∂contents␈α∂of␈α∂ac␈α∂into␈α∂␈↓εq␈↓β,␈α∂READONLY␈α∂operands␈α∂not␈↓ ββ
␈↓ ββ␈β∞X␈↓β␈↓ ββallowed.␈αWARNING␈α--␈αDo␈αnot␈αstore␈αin␈αregisters␈α"."␈α","␈αor␈α";"␈αexcept␈αwhere␈↓ ββ
␈↓ ββ␈β∞v␈↓β␈↓ ββlegal.␈α
POX␈α
will␈α
get␈α
confused␈α
if␈α
you␈α
do.␈α
See␈α
argument␈α
description␈α
above.␈↓ ββ
␈↓ ↓H␈β∂␈↓β␈↓ ↓H␈↓1␈↓∂+␈↓εq␈↓∂ ␈↓1␈↓∂-␈↓εq␈↓∂␈↓ ↓H
␈↓ ↓H␈β∂*␈↓∂␈↓1␈↓∂*␈↓εq␈↓∂ ␈↓1␈↓∂/␈↓εq␈↓∂␈↓ βH␈↓β␈↓ ββ(U␈α⊃J␈α⊃CR␈α⊃o␈α⊃A)␈α⊃--␈α⊃usual␈α⊃arithmetic␈α⊃--␈α⊂ac␈α⊂plus/minus/times/dividedby␈α⊂␈↓εq␈↓β,␈↓ ββ
␈↓ 
j␈↓α 6␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 7␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ββ␈β↓H␈↓β␈↓ ββresult␈α
in␈α
ac.␈↓ ββ
␈↓ ↓H␈β↓↑␈↓β␈↓ ↓H␈↓1␈↓∂%␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈αJ␈αCR␈αo␈αA)␈α--␈α"modulo"␈α--␈αac␈αdivided␈αby␈α␈↓εq␈↓β,␈αremainder␈αin␈αac.␈α--␈αif␈αthe␈α
ac␈↓ ββ
␈↓ ββ␈β↓|␈↓β␈↓ ββis␈α⊃nonnegative␈α⊃and␈α⊂␈↓εq␈↓β␈α⊂is␈α⊂positive,␈α⊂this␈α⊂corresponds␈α⊂to␈α⊂reducing␈α⊂the␈α⊂ac␈↓ ββ
␈↓ ββ␈βα~␈↓β␈↓ ββmodulo␈α≤␈↓εq␈↓β␈α≤(number␈α≤theory),␈α≤otherwise␈α≠the␈α≠result␈α≠is␈α≠nonstandard␈↓ ββ
␈↓ ββ␈βα@␈↓β␈↓ ββmathematically,␈α
and␈α
indeed␈α
machine-dependent.␈↓ ββ
␈↓ ↓H␈βαV␈↓β␈↓ ↓H␈↓1␈↓∂¬␈↓εq␈↓∂ ␈↓1␈↓∂\␈↓εq␈↓∂␈↓ βH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
reverse␈α
arithmetic␈α
--␈α
␈↓εq␈↓β␈α
minus/dividedby␈α
ac,␈α
result␈α
in␈α
ac.␈↓ ββ
␈↓ ↓H␈βαz␈↓β␈↓ ↓H␈↓¬␈↓ α&[Note -- since -1 is stored in the PDP-10 as all-ones, the POX command ␈↓1␈↓∂¬␈↓∂'␈↓∂-1;␈↓¬ will logically complement the ac.]␈↓ ↓H
␈↓ ↓H␈ββ∩␈↓¬␈↓1␈↓∂∧␈↓εq␈↓∂ ␈↓1␈↓∂∨␈↓εq␈↓∂ ␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
usual␈α
logical␈α
operations␈α
--␈α
ac␈α
and/or␈α
␈↓εq␈↓β,␈α
result␈α
in␈α
ac.␈↓ ββ
␈↓ ↓H␈ββ0␈↓β␈↓ ↓H␈↓1␈↓∂L␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈αJ␈αCR␈αo␈αA)␈α--␈αlogical␈αshift␈αof␈αac␈αleft␈αby␈α␈↓εq␈↓β␈αbits␈α(if␈α␈↓εq␈↓β<0␈αthen␈αshift␈αright),␈↓ ββ
␈↓ ββ␈ββV␈↓β␈↓ ββresult␈α
in␈α
ac.␈↓ ββ
␈↓ ↓H␈ββl␈↓β␈↓ ↓H␈↓1␈↓∂~␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
maximum␈α
of␈α
ac␈α
and␈α
␈↓εq␈↓β,␈α
result␈α
in␈α
ac.␈↓ ββ
␈↓ ↓H␈β∧
␈↓β␈↓ ↓H␈↓1␈↓∂_␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
minimum␈α
of␈α
ac␈α
and␈α
␈↓εq␈↓β,␈α
result␈α
in␈α
ac.␈↓ ββ
␈↓ ↓H␈β∧0␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓β␈↓ ∧kSUBSCRIPT/SUPERSCRIPT COMMANDS␈↓ ↓H
␈↓ ↓H␈β∧d␈↓β␈↓1␈↓∂↑␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o)␈α
--␈α
move␈α
text␈α
up␈α
␈↓εq␈↓β␈α
with␈α
respect␈α
to␈α
the␈α
baseline.␈↓ ββ
␈↓ ↓H␈β¬α␈↓β␈↓ ↓H␈↓1␈↓∂↓␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o)␈α
--␈α
move␈α
text␈α
down␈α
␈↓εq␈↓β␈α
with␈α
respect␈α
to␈α
the␈α
baseline.␈↓ ββ
␈↓ ↓H␈β¬&␈↓β␈↓ ↓H␈↓1␈↓∂∩␈↓ αH␈↓β␈↓ ββ(U␈α∞J␈α∞CR␈α∞o)␈α∞--␈α∞up␈α∞to␈α∞default␈α∞superscript␈α∞location␈α∞(a␈α∞fixed␈α∞portion␈α∞of␈α∞the␈↓ ββ
␈↓ ββ␈β¬F␈↓β␈↓ ββheight␈αof␈αcurrent␈αfont),␈αeasier␈αthan␈αstoring␈αa␈αpositive␈αconstant␈αin␈αregister␈↓ ββ
␈↓ ββ␈β¬\␈↓β␈↓ ββ","␈α∞or␈α∞setting␈α∞up␈α∞a␈α∞positive␈α∞constant␈α∞in␈α∞some␈α∞register␈α∞␈↓εq␈↓β␈α
and␈α
then␈α
using␈↓ ββ
␈↓ ββ␈β¬z␈↓β␈↓ ββ␈↓1␈↓∂↑␈↓εq␈↓β.␈↓ ββ
␈↓ ↓H␈βε≡␈↓β␈↓ ↓H␈↓1␈↓∂∪␈↓ αH␈↓β␈↓ ββ(U␈α∞J␈α∞CR␈α∞o)␈α∞--␈α∞down␈α∞to␈α
default␈α
subscript␈α
location␈α
(a␈α
fixed␈α
portion␈α
of␈α
the␈↓ ββ
␈↓ ββ␈βε>␈↓β␈↓ ββheight␈αof␈αcurrent␈αfont),␈αeasier␈αthan␈αstoring␈αa␈αnegative␈αnumber␈αin␈αregister␈↓ ββ
␈↓ ββ␈βεT␈↓β␈↓ ββ","␈α∞or␈α∞setting␈α∞up␈α∞a␈α∞positive␈α∞constant␈α∞in␈α∞some␈α∞register␈α∞␈↓εq␈↓β␈α
and␈α
then␈α
using␈↓ ββ
␈↓ ββ␈βεr␈↓β␈↓ ββ␈↓1␈↓∂↓␈↓εq␈↓β.␈↓ ββ
␈↓ ↓H␈βπ⊗␈↓β␈↓ ↓H␈↓1␈↓∂⊗␈↓ αH␈↓β␈↓ ββ(U␈αJ␈αCR␈αo)␈α--␈αback␈αto␈αnormal␈αbaseline␈αfrom␈α
superscript␈α
or␈α
subscript,␈α
don't␈↓ ββ
␈↓ ββ␈βπ4␈↓β␈↓ ββforget␈α
this!␈α
--␈α
easier␈α
than␈α
␈↓1␈↓∂↑=0;␈↓β␈α
or␈α
␈↓1␈↓∂↓=0;␈↓β␈α
or␈α
␈↓1␈↓∂←=0;␈↓1␈↓∂→,␈↓β␈↓ ββ
␈↓ ↓H␈βπT␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βπr␈↓β␈↓β␈↓ ¬≡UNDERLINE OR FRACTION BAR␈↓ ↓H
␈↓ ↓H␈βλλ␈↓β␈↓1␈↓∂U␈↓εlatr␈↓ αH␈↓β␈↓ ββ(U)␈α--␈αunderline␈αfrom␈αcolumn␈α
␈↓εl␈↓β␈α
to␈α
column␈α
␈↓εr␈↓β,␈α
on␈α
scan␈α
line␈α
␈↓εa␈↓β␈α
relative␈α
to␈α
the␈↓ ββ
␈↓ ββ␈βλ&␈↓β␈↓ ββbaseline␈α~(␈↓εa␈↓β>0␈α~moves␈α~the␈α→underline␈α→down),␈α→with␈α→line␈α→thickness␈α→␈↓εt␈↓β␈↓ ββ
␈↓ ββ␈βλD␈↓β␈↓ ββ(extending␈α∂downward␈α∞from␈α∞scan␈α∞line␈α∞␈↓εa␈↓β␈α∞if␈α∞␈↓εt␈↓β>1).␈α∞See␈α∞the␈α∞example␈α∞at␈α∞the␈↓ ββ
␈↓ ββ␈βλj␈↓β␈↓ ββend␈α
of␈α
these␈α
commands.␈↓ ββ
␈↓ ↓H␈β	ε␈↓β␈↓ ↓H␈↓1␈↓∂{␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o)␈α
--␈α
start␈α
underline,␈α
see␈α
UUO␈α
manual␈α
under␈α
XGP␈α
service.␈↓ ββ
␈↓ ↓H␈β	≡␈↓β␈↓ ↓H␈↓1␈↓∂}␈↓εat␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o)␈α--␈αin␈αconjunction␈αwith␈α␈↓1␈↓∂{␈↓β,␈αend␈αunderline,␈αon␈αscan␈αline␈α␈↓εa␈↓β␈αwith␈↓ ββ
␈↓ ββ␈β	<␈↓β␈↓ ββthickness␈α∂␈↓εt␈↓β␈α∂(Note␈α∞that␈α∞this␈α∞command␈α∞isn't␈α∞correctly␈α∞implemented␈α∞in␈α∞POX␈↓ ββ
␈↓ ββ␈β	a␈↓β␈↓ ββversions␈α⊃before␈α⊃1975␈↓#↓ ␈↓#MAY␈↓#↓ ␈↓#11,␈α⊃so␈α⊃don't␈α⊂try␈α⊂to␈α⊂use␈α⊂this␈α⊂feature␈α⊂in␈α⊂old␈↓ ββ
␈↓ ββ␈β
␈↓β␈↓ ββbackups␈α
of␈α
POX␈α
or␈α
you␈α
will␈α
get␈α
quite␈α
confused.)␈↓ ββ
␈↓ ↓H␈β
≡␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β
<␈↓β␈↓β␈↓ βCENTER SPECIAL-FORMATTING MODES WITH ALTERNATE MARGINS␈↓ ↓H
␈↓ ↓H␈β
X␈↓β␈↓1␈↓∂j␈↓β ␈↓1␈↓∂r␈↓β or ␈↓1␈↓∂c␈↓ βH␈↓β␈↓ ββ(U)␈α↔--␈α↔same␈α↔as␈α↔␈↓1␈↓∂J␈α↔␈↓1␈↓∂R␈α↔␈↓βor␈α↔␈↓1␈↓∂C␈↓β␈α⊗(respectively)␈α⊗except␈α⊗they␈α⊗set␈α⊗up␈↓ ββ
␈↓ ββ␈β
x␈↓β␈↓ ββtemporary␈αmargins␈αfrom␈αregisters␈α␈↓∂l␈↓β␈αand␈α␈↓∂r␈↓β,␈αthen␈αrestore␈α␈↓∂L␈↓β␈αand␈α␈↓∂R␈↓β␈αto␈αtheir␈↓ ββ
␈↓ ββ␈β⊗␈↓β␈↓ ββold␈α⊃values␈α⊃upon␈α⊃exit.␈α⊃[Note␈α⊃that␈α⊂a␈α⊂␈↓¬<CR>␈↓β␈α⊂occurring␈α⊂inside␈α⊂one␈α⊂of␈α⊂these␈↓ ββ
␈↓ ββ␈β2␈↓β␈↓ ββcommands,␈αsuch␈αas␈αwhen␈α␈↓¬<CR>␈↓β␈αon␈αinput␈αterminates␈α␈↓1␈↓∂r␈↓β␈αor␈α␈↓1␈↓∂c␈↓β,␈αwill␈αset␈αthe␈↓ ββ
␈↓ ββ␈βR␈↓β␈↓ ββpage␈α∂printer␈α∂at␈α∂the␈α∂␈↓∂l␈↓β␈α∂rather␈α∂than␈α∂␈↓∂L␈↓β␈α∂margin.␈α∂Thus,␈α∂although␈α∞only␈α∞the␈α∞␈↓∂r␈↓β␈↓ ββ
␈↓ ββ␈βp␈↓β␈↓ ββregister␈α
needs␈α
to␈α
be␈α
loaded␈α
for␈α
the␈α
rightify␈α
per-se,␈α
the␈α
␈↓∂l␈↓β␈α
register␈αmust␈↓ ββ
␈↓ ββ␈β∞␈↓β␈↓ ββbe␈α_loaded␈α_to␈α_something␈α_reasonable␈α_for␈α↔it␈α↔to␈α↔terminate␈α↔with␈α↔␈↓¬<CR>␈↓β␈↓ ββ
␈↓ ββ␈β,␈↓β␈↓ ββcorrectly.]␈↓ ββ
␈↓ ↓H␈βJ␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βh␈↓β␈↓β␈↓ ∧∨GENERATING AND QUOTING SPECIAL CHARACTERS␈↓ ↓H
␈↓ ↓H␈β
∧␈↓β␈↓1␈↓∂'␈↓¬<OCTAL DIGITS>␈↓∂;␈↓ βH␈↓β␈↓ βS(U)␈α--␈α
accepts␈α
an␈α
octal␈α
value␈α
and␈α
transmits␈α
it␈α
preceded␈α
by␈α
a␈α
rubout.␈↓ ββ
␈↓ ββ␈β
$␈↓β␈↓ ββThis␈α
is␈α
used␈α
for␈α
printing␈α
the␈α
characters␈α
that␈α
are␈α
hidden␈α
under␈α
octal␈α
values␈↓ ββ
␈↓ ββ␈β
B␈↓β␈↓ ββ0,11,12,14,15␈α∞and␈α∞177.␈α∞WARNING␈α∞--␈α∞Octal␈α∞values␈α∞of␈α∞1␈α∞thru␈α∞4␈α∞will␈α∞cause␈↓ ββ
␈↓ ββ␈β
`␈↓β␈↓ ββXGP-escape␈αto␈αoccur,␈αthen␈αthe␈αXGP␈αservice␈αwill␈αeat␈αone␈αor␈αmore␈αbytes␈αof␈↓ ββ
␈↓ ββ␈β
}␈↓β␈↓ ββwhatever␈αhappens␈αto␈αbe␈αnext␈αin␈αthe␈αoutput␈αfile.␈αThe␈αresult␈αis␈αthat␈αif␈αyou␈↓ ββ
␈↓ ββ␈β∞≤␈↓β␈↓ ββhave␈α∞the␈α∞simulator␈α
on,␈α
or␈α
for␈α
any␈α
other␈α
reason␈α
cannot␈α
predict␈α
what␈α
the␈↓ ββ
␈↓ ββ␈β∞:␈↓β␈↓ ββnext␈α∞bytes␈α∞generated␈α∞will␈α∞be,␈α∞unpredictable␈α∞things␈α∞may␈α∞occur.␈α∞The␈α
only␈↓ ββ
␈↓ ββ␈β∞X␈↓β␈↓ ββreason␈α∂POX␈α∂does␈α∂not␈α∂generate␈α∂an␈α∂error␈α∂is␈α∂because␈α∂Ralph␈α∂Gorin␈α∂insists␈↓ ββ
␈↓ ββ␈β∞t␈↓β␈↓ ββthat␈α∞old␈α∞files␈α∞that␈α∞do␈α∞such␈α∞things␈α∞as␈α∞␈↓1␈↓∂'3;↓↓␈↓β␈α∞(instead␈α∞of␈α
the␈α
preferable␈↓ ββ
␈↓ ββ␈β∂∩␈↓β␈↓ ββ␈↓1␈↓∂←'201;␈↓1␈↓∂Y␈↓β)␈αwill␈αcontinue␈αto␈αwork␈αas␈αthey␈αalways␈αdid.␈α
(Note,␈α
the␈α
function␈↓ ββ
␈↓ ββ␈β∂0␈↓β␈↓ ββof␈α
this␈α
command␈α
is␈α
modified␈α
by␈α
the␈α
␈↓1␈↓∂⊂'1000;␈↓β␈α
or␈α
␈↓1␈↓∂⊂'2000;␈↓β␈α
command.)␈↓ ββ
␈↓ 
j␈↓α 7␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 8␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓H␈↓1␈↓∂"␈↓¬<CH>␈↓β␈↓ ββ(U␈α∞[J*]␈α∞A)␈α∞--␈α∞the␈α
character␈α
␈↓¬<CH>␈↓β␈α
in␈α
the␈α
current␈α
font,␈α
preceeded␈α
by␈α
'177␈↓ ββ
␈↓ ββ␈β↓h␈↓β␈↓ ββonly␈α∞if␈α∞necessary␈α∞to␈α∞prevent␈α∞special␈α∞things␈α∞from␈α∞happening,␈α∞guaranteed␈↓ ββ
␈↓ ββ␈βαε␈↓β␈↓ ββnot␈αto␈αgo␈αinto␈αXGP␈αescape␈αmode.␈α--␈αWhen␈αpassing␈αcharacter␈αto␈αargument␈↓ ββ
␈↓ ββ␈βα"␈↓β␈↓ ββto␈αmacro,␈αthe␈αcharacter␈αis␈αquoted,␈αi.e.␈αif␈αit␈αis␈αthe␈α␈↓1␈↓β␈αcharacter␈αor␈αa␈αcomma␈↓ ββ
␈↓ ββ␈βαB␈↓β␈↓ ββor␈αa␈αnesting/quoting␈α
character␈α
nothing␈α
special␈α
happens␈α
on␈α
account␈α
of␈α
that␈↓ ββ
␈↓ ββ␈βα`␈↓β␈↓ ββ--␈α∞In␈α∞justify␈α
mode,␈α
this␈α
command␈α
is␈α
implemented␈α
only␈α
for␈α
the␈α
characters␈↓ ββ
␈↓ ββ␈βα}␈↓β␈↓ ββthat␈α
do␈α
not␈α
require␈α
the␈α
'177␈α
prefix␈↓ ββ
␈↓ ↓H␈ββ~␈↓β␈↓ ↓H␈↓11␈↓∂␈↓ αH␈↓ βH␈↓β␈↓ ββ(U␈α⊃J␈α⊃CR␈α⊃A)␈α⊃[no␈α⊃longer␈α⊃reccommended,␈α⊂use␈α⊂␈↓1␈↓β␈↓∂"␈↓β␈↓1␈↓β␈α⊂instead␈α⊂(see␈α⊂previous␈↓ ββ
␈↓ ββ␈ββ:␈↓β␈↓ ββcommand)]␈α
--␈α
quotes␈αthe␈αescape␈αcharacter␈α--␈αtakes␈αpresidence␈αover␈αany␈↓ ββ
␈↓ ββ␈ββX␈↓β␈↓ ββother␈α∂command␈α∂that␈α∂parses␈α∂the␈α∂same␈α∂due␈α∂to␈α∂coincidence␈α∞of␈α∞characters,␈↓ ββ
␈↓ ββ␈ββv␈↓β␈↓ ββthereby␈α≡making␈α≡that␈α≡other␈α≡command␈α≥unavailable␈α≥--␈α≥Please␈α≥use␈↓ ββ
␈↓ ββ␈β∧∩␈↓β␈↓ ββ␈↓1␈↓∂⊂'1000001;␈↓β␈α∂which␈α∂disables␈α∂this␈α∂crufty␈α∂old␈α∂undesirable␈α∂and␈α∞unneeded␈↓ ββ
␈↓ ββ␈β∧2␈↓β␈↓ ββfeature,␈α
and␈α
thus␈α
unhides␈α
the␈α
other␈α
command)␈↓ ββ
␈↓ ↓H␈β∧H␈↓β␈↓ ↓H␈↓1␈↓∂A␈↓εq␈↓ αH␈↓β␈↓ ββ(U␈α
[J*]␈α
A)␈α
--␈α
the␈α
seven␈α
low-order␈αbits␈αof␈α␈↓εq␈↓β␈αare␈αassembled␈αinto␈αan␈αASCII␈↓ ββ
␈↓ ββ␈β∧l␈↓β␈↓ ββcharacter,␈α
and␈α
␈↓1␈↓β␈↓∂"␈↓β␈α
is␈α
performed␈α
on␈α
that␈α
character.␈↓ ββ
␈↓ ↓H␈β¬∧␈↓β␈↓ ↓H␈↓1␈↓∂D␈↓εq␈↓ αH␈↓β␈↓ ββ(U␈αJ␈αCR␈αo␈αA)␈α--␈αconverts␈α␈↓εq␈↓β␈αinto␈αa␈αstring␈αof␈αdecimal␈α
digits␈α
representing␈α
its␈↓ ββ
␈↓ ββ␈β¬*␈↓β␈↓ ββvalue,␈α
like␈α
␈↓∂CVS␈↓β␈α
in␈α
SAIL.␈↓ ββ
␈↓ ↓H␈β¬H␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β¬f␈↓β␈↓β␈↓ ¬[STACK OPERATIONS␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓1␈↓∂P␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
push␈α
ac.␈↓ ββ
␈↓ ↓H␈βε ␈↓β␈↓ ↓H␈↓1␈↓∂p␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
pop␈α
ac.␈↓ ββ
␈↓ ↓H␈βε8␈↓β␈↓ ↓H␈↓1␈↓∂Q␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
push␈α
register␈α
␈↓εq␈↓β.␈↓ ββ
␈↓ ↓H␈βεV␈↓β␈↓ ↓H␈↓1␈↓∂q␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
pop␈α
to␈α
register␈α
␈↓εq␈↓β.␈α
--␈α
READONLY␈α
operand␈α
not␈α
allowed.␈↓ ββ
␈↓ ↓H␈βεz␈↓β␈↓ ↓H␈↓1␈↓∂#␈↓ αH␈↓β␈↓ ββ(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
push␈α
the␈α
current␈α
font␈α
number␈α
(octal␈α
0␈α
to␈α
17).␈↓ ββ
␈↓ ↓H␈βπ_␈↓β␈↓ ↓H␈↓1␈↓∂G␈↓ αH␈↓β␈↓ ββ(␈α)␈α--␈αpop␈αa␈αnumber␈α
off␈α
the␈α
stack␈α
and␈α
use␈α
that␈α
number␈α
to␈α
do␈α
a␈α
font-select␈↓ ββ
␈↓ ββ␈βπ6␈↓β␈↓ ββlike␈α
␈↓1␈↓β␈↓∂F␈↓β...␈α--␈αmust␈αbe␈αin␈αthe␈αrange␈αoctal␈α0␈αto␈α17␈αto␈αwork␈αcorrectly␈α--␈αnot␈↓ ββ
␈↓ ββ␈βπV␈↓β␈↓ ββyet␈α
fully␈α
supported.␈↓ ββ
␈↓ ↓H␈βπt␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βλ∩␈↓β␈↓β␈↓ β]TEXT-MODE VECTORS (SEE ALSO ATOMIC VECTOR OVERLAY)␈↓ ↓H
␈↓ ↓H␈βλ(␈↓β␈↓1␈↓∂V␈↓εx␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#x␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#w␈↓ ↓H
␈↓ ↓H␈βλR␈↓ε␈↓ αH␈↓β␈↓ ββ(U)␈α∞--␈α∞draw␈α∞a␈α∞vector␈α∞of␈α∞␈↓αHORIZONTAL␈↓β␈α∞width␈α∞␈↓εw␈↓β␈α
between␈α
(␈↓εx␈↓β␈↓#s␈↓β␈↓#s1␈↓β␈↓#s␈↓#,␈↓εy␈↓β␈↓#s␈↓β␈↓#s1␈↓β␈↓#s␈↓#)␈α
and␈↓ ββ
␈↓ ββ␈βλw␈↓β␈↓ ββ(␈↓εx␈↓β␈↓#s␈↓β␈↓#s2␈↓β␈↓#s␈↓#,␈↓εy␈↓β␈↓#s␈↓β␈↓#s2␈↓β␈↓#s␈↓#)␈α∃--␈α∃vectors␈α∃on␈α∃the␈α∃XGP␈α∃(at␈α∀SU-AI)␈α∀are␈α∀actually␈α∀tall␈α∀skinny␈↓ ββ
␈↓ ββ␈β	≥␈↓β␈↓ ββparallelograms␈αwhich␈αget␈αincreasingly␈α
bad-looking␈α
as␈α
they␈α
approach␈α
being␈↓ ββ
␈↓ ββ␈β	;␈↓β␈↓ ββhorizontal␈α--␈αPOX␈αdoes␈αnothing␈αto␈αimprove␈αthe␈αlooks␈αof␈αdiagonal␈αvectors,␈↓ ββ
␈↓ ββ␈β	Y␈↓β␈↓ ββbut␈α∞exactly␈α∞horizontal␈α∞vectors␈α∞(which␈α
wouldn't␈α
work␈α
at␈α
all␈α
normally)␈α
are␈↓ ββ
␈↓ ββ␈β	w␈↓β␈↓ ββreplaced␈α⊃by␈α⊃vertical␈α⊃vectors␈α⊃that␈α⊃are␈α⊃very␈α⊃very␈α⊃wide␈α⊃and␈α⊃very␈α⊃very␈↓ ββ
␈↓ ββ␈β

␈↓β␈↓ ββshort).␈α∞Coordinates␈α∞are␈α∞measured␈α
in␈α
usual␈α
XGP␈α
coordinates.␈α
␈↓εx␈↓β␈α
increases␈↓ ββ
␈↓ ββ␈β
+␈↓β␈↓ ββfrom␈αleft␈αto␈αright,␈αwith␈α␈↓εx␈↓β=0␈αbeing␈αthe␈αleft␈αedge.␈α␈↓εy␈↓β␈αincreases␈αfrom␈αtop␈αto␈↓ ββ
␈↓ ββ␈β
I␈↓β␈↓ ββbottom,␈α⊃with␈α⊃␈↓εy␈↓β=0␈α⊃being␈α⊃the␈α⊃top␈α⊃edge.␈α⊃Vectors␈α⊃no␈α⊃longer␈α⊃have␈α⊂to␈α⊂be␈↓ ββ
␈↓ ββ␈β
g␈↓β␈↓ ββpresented␈α∂to␈α∞POX␈α∞with␈α∞MIN(␈↓εy␈↓β␈↓#s␈↓β␈↓#s1␈↓β␈↓#s␈↓#,␈↓εy␈↓β␈↓#s␈↓β␈↓#s2␈↓β␈↓#s␈↓#)␈α∞in␈α∞ascending␈α∞sequence␈α∞because␈α∞POX␈↓ ββ
␈↓ ββ␈β
␈↓β␈↓ ββnow␈α∩sorts␈α∩them␈α∩into␈α∩correct␈α∩sequence␈α∩automatically,␈α⊃but␈α⊃because␈α⊃the␈↓ ββ
␈↓ ββ␈β+␈↓β␈↓ ββsystem␈α∞requires␈α
both␈α
text␈α
and␈α
vectors␈α
to␈α
be␈α
sorted␈α
correctly,␈α
you␈α
must␈↓ ββ
␈↓ ββ␈βI␈↓β␈↓ ββusually␈α⊃enable␈α⊃the␈α⊃text␈α⊃linefeed␈α⊃simulator␈α⊂(see␈α⊂note␈α⊂2)␈α⊂whenever␈α⊂you␈↓ ββ
␈↓ ββ␈βg␈↓β␈↓ ββwant␈α∞ordinary␈α
text␈α
to␈α
appear␈α
below␈α
any␈α
vector␈α
or␈α
overlay␈α
on␈α
the␈α
same␈↓ ββ
␈↓ ββ␈β¬␈↓β␈↓ ββpage.␈α
One␈α
final␈α
warning␈αwith␈αvectors␈αis␈αnot␈αto␈αattempt␈αto␈αdo␈αanything␈αat␈↓ ββ
␈↓ ββ␈β#␈↓β␈↓ ββthe␈α∞very␈α∞top␈α∞of␈α∞the␈α∞first␈α∞page␈α
of␈α
output␈α
(the␈α
system␈α
needs␈α
time␈α
to␈α
get␈↓ ββ
␈↓ ββ␈βA␈↓β␈↓ ββstarted␈α
loading␈α
buffers).␈↓ ββ
␈↓ ↓H␈βW␈↓β␈↓ ↓H␈↓1␈↓∂v␈↓εx␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#x␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#t␈↓ ↓H
␈↓ ↓H␈β
↓␈↓ε␈↓ αH␈↓β␈↓ ββ(U)␈α
--␈α
same␈α
as␈α
␈↓1␈↓∂V␈↓εx␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#x␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#w␈↓β␈α
except␈α
␈↓εt␈↓β␈αis␈αthickness␈αperpendicular␈αto␈↓ ββ
␈↓ ββ␈β
+␈↓β␈↓ ββthe␈α
direction␈α
of␈α
the␈α
vector␈α
in␈α
all␈α
cases␈α
--␈αi.e.␈αfor␈αnon-horizontal␈αvectors␈↓ ββ
␈↓ ββ␈β
<␈↓β␈↓ ββ␈↓εw␈↓β=SQRT(␈↓εt␈↓β␈↓#
2␈↓#((␈↓εx␈↓β␈↓#s;1␈↓#-␈↓εx␈↓β␈↓#s;2␈↓#)␈↓#
2␈↓#␈α-+(␈↓εy␈↓β␈↓#s1␈↓#-␈↓εy␈↓β␈↓#s2␈↓#)␈↓#
2␈↓#)/(␈↓εy␈↓β␈↓#s1␈↓#-␈↓εy␈↓β␈↓#s2␈↓#)␈↓#
2␈↓#),␈α-whereas␈α-exactly␈↓ ββ
␈↓ ββ␈β
f␈↓β␈↓ ββhorizontal␈αvectors␈αare␈αfixed␈αup␈αby␈αthis␈αcommand␈αthe␈αsame␈αas␈αby␈αthe␈α
␈↓1␈↓∂V␈↓β...␈↓ ββ
␈↓ ββ␈β∞ε␈↓β␈↓ ββcommand␈α--␈αnote␈αthat␈αvectors␈αwhich␈αare␈α
almost␈α
but␈α
not␈α
exactly␈α
horizontal␈↓ ββ
␈↓ ββ␈β∞$␈↓β␈↓ ββstill␈α⊃come␈α⊃out␈α⊂quite␈α⊂ugly␈α⊂and␈α⊂usually␈α⊂overshoot␈α⊂their␈α⊂specified␈α⊂bottom␈↓ ββ
␈↓ ββ␈β∞B␈↓β␈↓ ββends.␈↓ ββ
␈↓ ↓H␈β∞X␈↓β␈↓ ↓H␈↓1␈↓∂w␈↓εx␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#x␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#t␈↓ ↓H
␈↓ ↓H␈β∂α␈↓ε␈↓ αH␈↓β␈↓ ββ(not␈α⊃implemented␈α⊃yet)␈α⊃--␈α⊂even␈α⊂better␈α⊂looking␈α⊂vectors␈α⊂that␈α⊂won't␈α⊂ever␈↓ ββ
␈↓ ββ␈β∂ ␈↓β␈↓ ββovershoot,␈α⊃but␈α⊃because␈α⊃they␈α⊃will␈α⊂be␈α⊂composed␈α⊂of␈α⊂four␈α⊂simple␈α⊂vectors␈↓ ββ
␈↓ 
j␈↓α 8␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
j␈↓α 9␈↓ α#␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ββ␈β↓H␈↓β␈↓ ββeach␈α∀they␈α∀might␈α∀overload␈α∪the␈α∪XGPSER␈α∪in␈α∪some␈α∪cases␈α∪and␈α∪not␈α∪work␈↓ ββ
␈↓ ββ␈β↓f␈↓β␈↓ ββcorrectly.␈↓ ββ
␈↓ ↓H␈βα∧␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓β␈↓ ¬λREDEFINE THE BRICK CHARACTER␈↓ ↓H
␈↓ ↓H␈βα>␈↓β␈↓1␈↓∂|␈↓∧<CH>␈↓ αh␈↓ β8␈↓β␈↓ ββ(U␈αJ␈αCR␈αo␈αA)␈α--␈αchanges␈αthe␈αbrick␈αcharacter␈αto␈α␈↓∧<CH>␈↓β␈α--␈αI␈αdon't␈αguarantee␈↓ ββ
␈↓ ββ␈βα↑␈↓β␈↓ ββparsing␈αwill␈αmesh␈αwith␈αthis␈αin␈αa␈αreasonable␈α
way␈α
if␈α
you␈α
do␈α
this␈α
deep␈α
inside␈↓ ββ
␈↓ ββ␈βα|␈↓β␈↓ ββsomething␈α∪complicated␈α∪like␈α∪justify,␈α∪surrounded␈α∪nearby␈α∪by␈α∪things␈α∩that␈↓ ββ
␈↓ ββ␈ββ~␈↓β␈↓ ββdepend␈α
on␈αthe␈αescape␈αcharacter␈αbeing␈αwhat␈αyou'd␈αexpect␈α--␈αnote␈αthat␈αif␈↓ ββ
␈↓ ββ␈ββ6␈↓β␈↓ ββyou␈α
do␈α
␈↓1␈↓∂||␈↓β␈α
you␈α
can't␈α
later␈α
change␈α
back␈α
because␈α
then␈α
as␈α
long␈α
as␈α
"␈↓∂|␈↓β"␈αis␈↓ ββ
␈↓ ββ␈ββT␈↓β␈↓ ββthe␈αescape␈αcharacter,␈α"␈↓∂||␈↓β"␈αwill␈αbe␈αparsed␈αas␈α"␈↓11␈↓β"␈αrather␈αthan␈αas␈α"␈↓1␈↓∂|␈↓β...".␈↓ ββ
␈↓ ββ␈ββr␈↓β␈↓ ββ(see␈α∞the␈α∞␈↓11␈↓β␈α∞and␈α
␈↓1␈↓∂"␈↓¬<CH>␈↓β␈α
commands␈α
earlier),␈α
unless,␈α
of␈α
course,␈α
you␈α
have␈↓ ββ
␈↓ ββ␈β∧⊂␈↓β␈↓ ββdisabled␈α
the␈α
␈↓11␈↓β␈α
command␈α
by␈α
means␈α
of␈α
␈↓1␈↓∂⊂'1000001;␈↓β␈α
or␈α
equivalent.␈↓ ββ
␈↓ ↓H␈β∧0␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓β␈↓ ¬¬CONTROLLING INTERLINE SPACING␈↓ ↓H
␈↓ ↓H␈β∧j␈↓β␈↓1␈↓∂λ␈↓ αH␈↓β␈↓ ββ(U)␈α--␈αuse␈αthe␈αcontents␈αof␈αthe␈αac␈αto␈αset␈αthe␈αinterline␈αspacing,␈αthat␈αis,␈αthe␈↓ ββ
␈↓ ββ␈β¬
␈↓β␈↓ ββminimum␈α∪number␈α∪of␈α∪blank␈α∪scan␈α∪lines␈α∪(1/200␈α∩inch)␈α∩between␈α∩the␈α∩very␈↓ ββ
␈↓ ββ␈β¬(␈↓β␈↓ ββbottom␈αof␈αeach␈αline␈αof␈αtext␈α(including␈αsubscripts)␈αand␈αthe␈αvery␈αtop␈αof␈αthe␈↓ ββ
␈↓ ββ␈β¬F␈↓β␈↓ ββnext␈α⊃line␈α⊃(including␈α⊃superscripts).␈α⊃This␈α⊃parameter␈α⊃has␈α⊂different␈α⊂effects␈↓ ββ
␈↓ ββ␈β¬d␈↓β␈↓ ββdepending␈α
on␈α
whether␈α
the␈α
simulator␈α
is␈α
enabled.␈αWith␈αthe␈αsimulator␈αon,␈αif␈↓ ββ
␈↓ ββ␈βεα␈↓β␈↓ ββthis␈αparameter␈αis␈αnegative␈α
it␈α
allows␈α
overlapping,␈α
if␈α
zero␈α
it␈α
allows␈α
bumping,␈↓ ββ
␈↓ ββ␈βε ␈↓β␈↓ ββand␈α∩if␈α∩positive␈α∩it␈α∩forces␈α∩a␈α∩gap,␈α∩i.e.␈α∩it␈α∩is␈α∩completely␈α∩logical.␈α∩With␈α⊃the␈↓ ββ
␈↓ ββ␈βε>␈↓β␈↓ ββsimulator␈α∞off␈α∞it␈α∞doesn't␈α∞take␈α
effect␈α
until␈α
after␈α
the␈α
next␈α
text␈α
line,␈α
and␈α
its␈↓ ββ
␈↓ ββ␈βε\␈↓β␈↓ ββinterpretation␈α∪depends␈α∪on␈α∪its␈α∪sign:␈α∩positive␈α∩is␈α∩the␈α∩same␈α∩as␈α∩with␈α∩the␈↓ ββ
␈↓ ββ␈βεz␈↓β␈↓ ββsimulator␈αon,␈αzero␈αor␈αnegative␈αmeans␈αsystem␈αdefault␈αwhatever␈αit␈αis␈αtoday␈↓ ββ
␈↓ ββ␈βπ_␈↓β␈↓ ββ(recently␈α
it␈α
has␈α
had␈α
the␈α
value␈α
4).␈↓ ββ
␈↓ ↓H␈βπ4␈↓β␈↓ ↓H␈↓1␈↓∂ε␈↓ αH␈↓β␈↓ ββ(U)␈α∂--␈α∂use␈α∂the␈α∂contents␈α∂of␈α∞the␈α∞ac␈α∞to␈α∞set␈α∞the␈α∞interbase␈α∞spacing,␈α∞i.e.␈α∞the␈↓ ββ
␈↓ ββ␈βπT␈↓β␈↓ ββminimum␈α
number␈α
of␈α
scan␈α
lines␈α
that␈αbaselines␈αare␈αforced␈αapart.␈αWhen␈αthe␈↓ ββ
␈↓ ββ␈βπr␈↓β␈↓ ββsimulator␈α⊗is␈α⊗on,␈α⊗this␈α⊗parameter␈α⊗together␈α⊗with␈α⊗the␈α⊗interline␈α⊗spacing␈↓ ββ
␈↓ ββ␈βλ⊂␈↓β␈↓ ββdetermine␈α
how␈α
far␈α
apart␈α
lines␈α
will␈α
be␈α
(each␈α
line␈α
is␈α
placed␈α
as␈αhigh␈αup␈αon␈↓ ββ
␈↓ ββ␈βλ.␈↓β␈↓ ββthe␈α⊃page␈α⊃as␈α⊃is␈α⊃possible␈α⊃without␈α⊃violating␈α⊃either␈α⊃constraint).␈α⊂When␈α⊂the␈↓ ββ
␈↓ ββ␈βλL␈↓β␈↓ ββsimulator␈α
is␈α
off,␈α
this␈α
parameter␈α
is␈α
ignored␈α
and␈α
only␈α
the␈α
interline␈αspacing␈↓ ββ
␈↓ ββ␈βλj␈↓β␈↓ ββhas␈α∩any␈α∩effect.␈α⊃--␈α⊃A␈α⊃logical␈α⊃consequence␈α⊃of␈α⊃the␈α⊃above␈α⊃is␈α⊃that␈α⊃if␈α⊃the␈↓ ββ
␈↓ ββ␈β	λ␈↓β␈↓ ββinterline␈α∂spacing␈α∂is␈α∂very␈α∂negative,␈α∂then␈α∂only␈α∂the␈α∂interbase␈α∂spacing␈α∂has␈↓ ββ
␈↓ ββ␈β	&␈↓β␈↓ ββany␈α∞effect,␈α∞and␈α∞you␈α∞get␈α∞evenly␈α∞spaced␈α∞lines␈α
even␈α
even␈α
if␈α
they␈α
overlap;␈↓ ββ
␈↓ ββ␈β	D␈↓β␈↓ ββwhereas␈α
if␈α
interbase␈α
spacing␈α
is␈α
zero␈α
and␈αinterline␈αspacing␈αis␈αreasonable,␈↓ ββ
␈↓ ββ␈β	b␈↓β␈↓ ββthen␈α
in␈α
most␈α
cases␈α
only␈α
interline␈α
spacing␈α
will␈α
be␈αin␈αcontrol,␈αand␈αyou␈αwill␈↓ ββ
␈↓ ββ␈β
␈↓β␈↓ ββget␈α⊃lines␈α⊃with␈α⊃the␈α⊃same␈α⊃amount␈α⊃of␈α⊃space␈α⊃between␈α⊃each␈α⊃pair,␈α⊃even␈α⊂if␈↓ ββ
␈↓ ββ␈β
≡␈↓β␈↓ ββdiffering␈α
amounts␈α
of␈α
subscripts␈α
etc.␈α
cause␈α
irregular␈α
spacing␈α
to␈α
occur.␈↓ ββ
␈↓ ↓H␈β
<␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β
Z␈↓β␈↓β␈↓ βaRESET VERTICAL POSITION FOR TEXT (SEE ALSO OVERLAYS)␈↓ ↓H
␈↓ ↓H␈β
p␈↓β␈↓1␈↓∂Y␈↓εq␈↓∂␈↓ αH␈↓β␈↓ ββ(U)␈α--␈αset␈αabsolute␈αY␈αposition␈αfor␈αtop␈αscan␈α
line␈α
of␈α
this␈α
text␈α
line␈α
relative␈α
to␈↓ ββ
␈↓ ββ␈β⊗␈↓β␈↓ ββtop␈α
of␈α
page␈α
(if␈α
no␈α
text␈α
line␈α
is␈α
currently␈α
active,␈α
apply␈α
to␈α
the␈α
next␈α
text␈α
line).␈↓ ββ
␈↓ ββ␈β,␈↓β␈↓ ββIncreasing␈α
␈↓εq␈↓β␈α
moves␈α
down␈α
the␈α
page!␈α
Text␈α
after␈α
this␈α
line␈α
will␈α
be␈α
below␈α
it␈α
on␈↓ ββ
␈↓ ββ␈βR␈↓β␈↓ ββthe␈αpage␈αunless␈αPOX␈αor␈αthe␈αXGPSER␈αdecides␈αit␈αis␈αtoo␈αclose␈αto␈αthe␈αbottom␈↓ ββ
␈↓ ββ␈βp␈↓β␈↓ ββof␈α
the␈α
page␈α
and␈α
inserts␈α
a␈α
page␈α
mark.␈α
Do␈α
not␈α
use␈α
this␈α
command␈α
inside␈α
your␈↓ ββ
␈↓ ββ␈β∞␈↓β␈↓ ββEVERYPAGE␈α⊂macro␈α⊂unless␈α⊂you␈α⊂restore␈α∂the␈α∂Y-location␈α∂of␈α∂the␈α∂main␈α∂page␈↓ ββ
␈↓ ββ␈β,␈↓β␈↓ ββprinter␈α⊗before␈α⊗returning␈α⊗from␈α⊗your␈α∃macro␈α∃to␈α∃the␈α∃mainline␈α∃text!␈α∃--␈↓ ββ
␈↓ ββ␈βB␈↓β␈↓ ββWARNING␈α
--␈α
If␈α␈↓εq␈↓β␈αis␈αvery␈αlarge␈αit␈αwill␈αprobably␈αmake␈αthe␈αXGP␈αspooler␈αgo␈↓ ββ
␈↓ ββ␈βh␈↓β␈↓ ββbeserk.␈↓ ββ
␈↓ ↓H␈β
ε␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β
$␈↓β␈↓β␈↓ ∧xMISC. COMMANDS NOT OFTEN USED␈↓ ↓H
␈↓ ↓H␈β
:␈↓β␈↓1␈↓∂u␈↓εq␈↓ αH␈↓β␈↓ ββ(U␈αJ␈αCR␈αo␈αA)␈α--␈αgenerates␈αand␈αexecutes␈αa␈αCALLI␈αUUO␈αusing␈αthe␈αright␈αhalf␈↓ ββ
␈↓ ββ␈β
X␈↓β␈↓ ββof␈α
␈↓εq␈↓β,␈α
thus␈α
␈↓1␈↓∂u'400012;␈↓β␈α
will␈α
perform␈α
a␈α
␈↓∂CALLI␈α
400012␈↓β␈α--␈αthe␈αac␈αis␈αused␈↓ ββ
␈↓ ββ␈β
}␈↓β␈↓ ββto␈α∞supply␈α∞data␈α∞to␈α∞some␈α∞UUO's,␈α∞and␈α∞to␈α∞return␈α∞data␈α∞to␈α
the␈α
program␈α
after␈↓ ββ
␈↓ ββ␈β∞≤␈↓β␈↓ ββsome␈α
UUO'S␈α
--␈α
if␈α
the␈α
ac␈α
field␈α
of␈α
the␈αinstruction␈αis␈αused␈αin␈αa␈αspecial␈αway␈↓ ββ
␈↓ ββ␈β∞:␈↓β␈↓ ββother␈α
than␈α
merely␈α
pointing␈α
to␈α
data,␈α
then␈α
it␈α
isn't␈α
guaranteed␈α
to␈α
work␈αthe␈↓ ββ
␈↓ ββ␈β∞X␈↓β␈↓ ββway␈αyou␈αwant␈α--␈αthe␈α.SKIP.␈αflag␈α(ala␈αSAIL)␈αis␈α
returned␈α
in␈α
register␈α
␈↓∂u␈↓β␈α
--␈α
see␈↓ ββ
␈↓ ββ␈β∞v␈↓β␈↓ ββthe␈α
UUO␈α
manual␈α
for␈α
details.␈↓ ββ
␈↓ ↓H␈β∂∩␈↓β␈↓ ↓H␈↓1␈↓∂S␈↓ αH␈↓ βH␈↓β␈↓ ββ(U)␈α↔--␈α↔generates␈α↔a␈α⊗sample␈α⊗of␈α⊗the␈α⊗currently-selected␈α⊗font␈α⊗--␈α⊗type␈↓ ββ
␈↓ ββ␈β∂1␈↓β␈↓ ββ␈↓∂HELP␈↓#↓ ␈↓#FONT␈↓β␈α
for␈α
other␈α
ways␈α
to␈α
get␈α
samples␈α
of␈α
fonts.␈↓ ββ
␈↓ 
j␈↓α 9␈↓ α#␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 10␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β↓b␈↓β␈↓␈↓ β[Examples of commands using register arguments etc.␈↓ ↓H
␈↓ ↓H␈βαα␈↓␈↓β␈↓ α_In␈α⊂this␈α⊂writeup,␈α⊂the␈α⊂␈↓1␈↓∂j␈↓β␈α⊂command␈α⊂is␈α⊂used␈α⊂to␈α⊂generate␈α⊂the␈α⊂indented␈α⊂paragraph␈α∂of␈α∂description␈↓ ↓H
␈↓ ↓H␈βα~␈↓β␈↓ ↓Halongside␈α∩the␈α∩syntax␈α∩of␈α∩each␈α∩command.␈α∩The␈α∩sequence␈α∩␈↓1␈↓∂←␈↓εq␈↓1␈↓∂→.␈↓β␈α∩is␈α⊃used␈α⊃sometimes␈α⊃to␈α⊃set␈α⊃column␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓Hposition␈α
for␈α
single-line␈α
descriptions␈α
and␈α
to␈α
align␈α
text␈α
in␈α
some␈α
of␈α
the␈α
tabular␈α
presentations.␈↓ ↓H
␈↓ ↓H␈βα↑␈↓β␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓∧Example showing how to do a simple subscript:␈↓ ↓H
␈↓ ↓H␈ββ_␈↓∧␈↓1␈↓∂F3x␈↓1␈↓∂∪1␈↓1␈↓∂⊗+x␈↓1␈↓∂∪2␈↓1␈↓∂⊗+...+x␈↓1␈↓∂∪n␈↓1␈↓∂⊗+x␈↓1␈↓∂∪n+1␈↓1␈↓∂⊗␈↓ ↓H
␈↓ ↓H␈ββ8␈↓∂␈↓βx␈↓#s1␈↓#+x␈↓#s2␈↓#+...+x␈↓#sn␈↓#+x␈↓#sn+1␈↓#␈↓ ↓H
␈↓ ↓H␈ββV␈↓β␈↓ ↓H
␈↓ ↓H␈ββt␈↓β␈↓∧Example of making five columns on a page, $ is the escape char:␈↓β␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓β␈↓∂$←R$-L$/'5;$→W$;␈↓ ∧H␈↓ ¬H␈↓ εHq-reg W contains width of a column␈↓ ↓H
␈↓ ↓H␈β∧0␈↓∂$←L$→1$+W$→2$+W$→3$+W$→4$+W$→5$;␈↓ εHq-reg's 1,2,3,4,5 contain the column loc's␈↓ ↓H
␈↓ ↓H␈β∧N␈↓∂$←1$→.Hello$←2$→.This$←3$→.Is$←4$→.A$←5$→.Test.␈↓ ↓H
␈↓ ↓H␈β∧l␈↓∂$←1$→.These$←2$→.Columns$←3$→.Are$←4$→.Nicely$←5$→.Aligned.␈↓ ↓H
␈↓ ↓H␈β¬
␈↓∂␈↓β␈↓ ↓HHello␈↓ βNThis␈↓ ¬TIs␈↓ πZA␈↓ 	`Test.␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓ ↓HThese␈↓ βNColumns␈↓ ¬TAre␈↓ πZNicely␈↓ 	`Aligned.␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ ↓H
␈↓ ↓H␈β¬d␈↓β␈↓∧Example of hidden characters, $ is the escape char:␈↓ ↓H
␈↓ ↓H␈βεα␈↓∧␈↓∂$FF$'0;$'11;$'12;$'14;$'15;$'177;␈↓ ↓H
␈↓ ↓H␈βε ␈↓∂␈↓∂␈␈	␈
␈␈
␈␈␈↓ ↓H
␈↓ ↓H␈βε>␈↓∂␈↓ ↓H
␈↓ ↓H␈βε\␈↓∂␈↓∂$F1This shows how to $←.$→1underline$U1=3;=2;. a word in a line of text.␈↓ ↓H
␈↓ ↓H␈βεv␈↓∂␈↓This shows how to underline␈↓ βa␈↓!β↓β␈↓ βa␈↓!∧↓β␈↓ ∧d a word in a line of text.␈↓ ↓H
␈↓ ↓H␈βπ∀␈↓␈↓ ↓H
␈↓ ↓H␈βπ6␈↓␈↓∂$F3$J␈↓ αHThis paragraph is an example of how to insert something␈↓ ↓H
␈↓ ↓H␈βπT␈↓∂like X$←.$→1$∩n$←.$→2$←1$→.$∪i$←.$~2$→.$⊗ in the middle of a paragraph of␈↓ ↓H
␈↓ ↓H␈βπr␈↓∂justified text using the "." register that represents the current column␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓∂$←.$→1$∩loca$←.$→2$←1$→.$↓=05;posi$←.$~2$→.$⊗tion␈↓ ↓H
␈↓ ↓H␈βλ.␈↓∂relative to the beginning of the current word.$.␈↓ ↓H
␈↓ ↓H␈βλ?␈↓∂␈↓β␈↓ α_This␈αparagraph␈αis␈αan␈αexample␈αof␈αhow␈αto␈αinsert␈αsomething␈αlike␈αX␈↓#
n␈αq␈↓#si␈αλ␈↓#␈αin␈αthe␈αmiddle␈αof␈αa␈α
paragraph␈α
of␈↓ ↓H
␈↓ ↓H␈βλi␈↓β␈↓ ↓Hjustified␈α∀text␈α∀using␈α∪the␈α∪"."␈α∪register␈α∪that␈α∪represents␈α∪the␈α∪current␈α∪column␈α∪␈↓#
loca␈αO␈↓#{posi␈↓#tion␈α∪relative␈α∪to␈α∪the␈↓ ↓H
␈↓ ↓H␈β	∀␈↓β␈↓ ↓Hbeginning␈α
of␈α
the␈α
current␈α
word.␈↓ ↓H
␈↓ ↓H␈β	2␈↓β␈↓ ↓H
␈∧	A	X␈}+Hα␈∧	A	X↓UHα␈↓ ↓H␈β	P␈↓β␈↓∂$←=2;$→V$←;$-=100;$→A$+=27;$→B$+=45;$→C$;␈↓ ↓H
␈∧	\	0αP␈∧	\	0ε≤-α␈∧	\
␈yd-α␈↓ ↓H␈β	n␈↓∂$←=1200;$→a$+=10;$→b$+=30;$→c$+=30;$→d$+=10;$→e$;␈↓ ↓H
␈↓ ↓H␈β
␈↓∂$VaBeBV$VaBdCV$VcAbCV$VcAdCV$VbCeBV$; draw 5-point star of constant width␈↓ ↓H
␈↓ ↓H␈β
*␈↓∂␈↓ ↓H
␈∧
9	X␈}+Hα␈∧
9	X↓UHα␈↓ ↓H␈β
H␈↓∂␈↓∂$←=2;$→V$←;$-=100;$→A$+=27;$→B$+=45;$→C$;␈↓ ↓H
␈∧
T	0αP␈∧
T	0ε≤-β␈∧
T
␈yd-β␈↓ ↓H␈β
f␈↓∂$←=1200;$→a$+=10;$→b$+=30;$→c$+=30;$→d$+=10;$→e$;␈↓ ↓H
␈↓ ↓H␈β∧␈↓∂$vaBeBV$vaBdCV$vcAbCV$vcAdCV$vbCeBV$; draw 5-point star of constant thickness␈↓ ↓H
␈↓ ↓H␈β"␈↓∂␈↓ ↓H
␈↓ ↓H␈β@␈↓∂␈↓∂$←;$-=20;$→:$v=1400;;=1300;:=20;$; sample of a very ugly vector␈↓ ↓H
␈↓ ↓H␈β↑␈↓∂␈↓ ↓H
␈∧c
∀∀∀e␈↓ ↓H␈β|␈↓∂␈↓ ↓H
␈↓ ↓H␈β⊗␈↓∂␈↓␈↓ εOVERLAYS␈↓ ↓H
␈↓ ↓H␈β8␈↓␈↓β␈↓ α_An␈α␈↓αoverlay␈↓β␈αis␈αlike␈αa␈αblack-on-clear␈αtransparancy.␈α
Overlays␈α
can␈α
be␈α
set␈α
up␈α
by␈α
feeding␈α
them␈α
text␈α
or␈↓ ↓H
␈↓ ↓H␈βV␈↓β␈↓ ↓Hvectors␈α(someday,␈αvideo␈αand␈αIII/DD␈αbuffers␈αalso),␈αand␈αseveral␈αoverlays␈αcan␈αbe␈αplaced␈αover␈αone␈αanother␈↓ ↓H
␈↓ ↓H␈βt␈↓β␈↓ ↓Hand␈αglued␈αtogether␈αto␈αmake␈αa␈αcompound␈αoverlay,␈αwhich␈αthen␈αcan␈αbe␈αfurther␈αprocessed␈αin␈αsimilar␈αways.␈↓ ↓H
␈↓ ↓H␈β
∩␈↓β␈↓ ↓HEventually,␈α
overlays␈α
are␈α
placed␈α
in␈α
the␈α
output␈α
file.␈↓ ↓H
␈↓ ↓H␈β
0␈↓β␈↓ α_All␈α
contents␈α
of␈α
an␈α
overlay␈α
are␈α
positioned␈αrelative␈αto␈αan␈αarbitrary␈α␈↓αbasepoint␈↓β.␈αWhen␈αoverlays␈αare␈↓ ↓H
␈↓ ↓H␈β
N␈↓β␈↓ ↓Hplaced␈αon␈αtop␈αof␈αone-another␈αand␈αglued,␈αthe␈αx,y␈αoffset␈αof␈αthe␈α
basepoint␈α
of␈α
each␈α
component␈α
is␈α
specified␈↓ ↓H
␈↓ ↓H␈β
l␈↓β␈↓ ↓Hrelative␈αto␈αthe␈αbasepoint␈αof␈αthe␈αoperation␈αas␈αa␈αwhole,␈αthus␈αoverlays␈α
can␈α
be␈α
made␈α
to␈α
fit␈α
side-by-side␈α
or␈↓ ↓H
␈↓ ↓H␈β∞
␈↓β␈↓ ↓Habove-and-below␈α_or␈α_partially-overlapped␈α_or␈α_whatever.␈α↔Defaults␈α↔are␈α↔available␈α↔in␈α↔some␈α↔of␈α↔the␈↓ ↓H
␈↓ ↓H␈β∞(␈↓β␈↓ ↓Hoperations.␈↓ ↓H
␈↓ ↓H␈β∞F␈↓β␈↓ α_In␈α∪typical␈α∪applications,␈α∪overlays␈α∪act␈α∩as␈α∩data,␈α∩and␈α∩macros␈α∩that␈α∩call␈α∩the␈α∩overlay-manipulation␈↓ ↓H
␈↓ ↓H␈β∞d␈↓β␈↓ ↓Hcommands␈α
act␈α
as␈α
subroutines␈α
(see␈α
next␈α
section␈α
for␈α
macros).␈↓ ↓H
␈↓ ↓H␈β∂α␈↓β␈↓ ↓H
␈↓ ↓H␈β∂≡␈↓β␈↓1␈↓∂o␈↓¬<NAME><OPEN>␈↓¬<CH>␈↓¬<BODY><CLOSE>␈↓ ↓H
␈↓ 
c␈↓α 10␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 11␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓¬␈↓ αλ␈↓β␈↓ β↔(U␈αJ␈αCR␈αo␈αA)␈α--␈α[Note␈αthat␈αthe␈αpair␈αof␈αnesting␈αcharacters␈α(␈α
and␈α
)␈α
are␈α
not␈↓ β↔
␈↓ β↔␈β↓f␈↓β␈↓ β↔allowed␈α↔in␈α↔this␈α↔particular␈α↔syntax.␈α↔The␈α↔reason␈α⊗is␈α⊗that␈α⊗the␈α⊗syntax␈↓ β↔
␈↓ β↔␈βα∧␈↓β␈↓ β↔␈↓¬<OPEN>␈↓¬<CH>␈↓¬<BODY><CLOSE>␈↓β␈α
will␈α
represent␈α
something␈α
like␈α
an␈α
atom,␈α
with␈α
"("␈↓ β↔
␈↓ β↔␈βα"␈↓β␈↓ β↔and␈α
")"␈αreserved␈αfor␈αgenerating␈αs-expressions,␈αif␈αand␈αwhen␈αI␈αimplement␈↓ β↔
␈↓ β↔␈βα@␈↓β␈↓ β↔a␈αsubset␈αof␈αLISP␈αinside␈αPOX.]␈αif␈α␈↓¬<CH>␈↓β␈αis␈α"␈↓∂V␈↓β"␈αthen␈αdefine␈αan␈αatomic␈αvector␈↓ β↔
␈↓ β↔␈βαV␈↓β␈↓ β↔overlay␈α(syntax␈αis␈αsame␈αas␈αthe␈α␈↓1␈↓∂V␈↓εx␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n1␈↓ε␈↓#n␈↓#x␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#y␈↓#n␈↓β␈↓#n2␈↓ε␈↓#n␈↓#w␈↓β␈αcommand␈αwithout␈αthe␈↓ β↔
␈↓ β↔␈ββ␈↓β␈↓ β↔initial␈α␈↓1␈↓β␈αcharacter,␈αeffect␈α(semantics)␈αis␈αthe␈αsame␈αexcept␈αthat␈α(0,0)␈αis␈αat␈↓ β↔
␈↓ β↔␈ββ ␈↓β␈↓ β↔the␈α∂relocatable␈α∂basepoint␈α∂rather␈α∂than␈α∂at␈α∞the␈α∞upper-left␈α∞corner␈α∞of␈α∞the␈↓ β↔
␈↓ β↔␈ββ>␈↓β␈↓ β↔output␈α⊃page)␈α⊃else␈α⊃if␈α⊃<ch>␈α⊃is␈α⊂a␈α⊂period␈α⊂or␈α⊂a␈α⊂font␈α⊂number␈α⊂then␈α⊂define␈↓ β↔
␈↓ β↔␈ββ\␈↓β␈↓ β↔atomic␈α↔text␈α↔overlay␈α↔with␈α↔font␈α⊗␈↓¬<CH>␈↓β␈α⊗(the␈α⊗basepoint␈α⊗is␈α⊗set␈α⊗at␈α⊗the␈↓ β↔
␈↓ β↔␈ββz␈↓β␈↓ β↔intersection␈α∃of␈α∃the␈α∃left␈α∃edge␈α∀of␈α∀the␈α∀first␈α∀character␈α∀with␈α∀the␈α∀font␈↓ β↔
␈↓ β↔␈β∧_␈↓β␈↓ β↔baseline)␈αelse␈αerror␈α--␈αIf␈αthere␈αis␈αalready␈αan␈αoverlay␈αby␈α
the␈α
same␈α
name,␈↓ β↔
␈↓ β↔␈β∧6␈↓β␈↓ β↔the␈α
old␈α
one␈α
may␈α
or␈α
may␈α
not␈α
be␈α
deleted,␈α
so␈α
beware.␈↓ β↔
␈↓ ↓H␈β∧R␈↓β␈↓ ↓H␈↓1␈↓¬n<NAME>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
load␈α
parameter␈α
␈↓¬n␈↓β␈α
of␈α
overlay␈α
into␈α
ac,␈α
see␈αthe␈αfollowing␈↓ β↔
␈↓ β↔␈β∧r␈↓β␈↓ β↔table:␈↓ β↔
␈↓ ↓H␈β¬⊂␈↓β␈↓ ↓H␈↓∂␈↓ αH␈↓¬n␈↓∂␈↓ βHname␈↓ ∧H␈↓βmeaning (all quantities are usually nonnegative)␈↓ ↓H
␈↓ ↓H␈β¬.␈↓β␈↓∂␈↓ αH1␈↓ βHLLIM␈↓ ∧H␈↓βdistance from left edge to basepoint␈↓ ↓H
␈↓ ↓H␈β¬L␈↓β␈↓∂␈↓ αH2␈↓ βHRLIM␈↓ ∧H␈↓βdistance from basepoint to right edge  (LLIM+1+RLIM = total width)␈↓ ↓H
␈↓ ↓H␈β¬j␈↓β␈↓∂␈↓ αH3␈↓ βHTLIM␈↓ ∧H␈↓βdistance from top edge to basepoint␈↓ ↓H
␈↓ ↓H␈βελ␈↓β␈↓∂␈↓ αH4␈↓ βHBLIM␈↓ ∧H␈↓βdistance from basepoint to bottom edge  (TLIM+1+BLIM = total height)␈↓ ↓H
␈↓ ↓H␈βε&␈↓β␈↓∂␈↓ αH5␈↓ βHTLIM1␈↓ ∧H␈↓βdistance from top nonblank scan line to basepoint (see bug 2)␈↓ ↓H
␈↓ ↓H␈βεD␈↓β␈↓∂␈↓ αH6␈↓ βHBLIM1␈↓ ∧H␈↓βdistance from basepoint to bottom nonblank scan line (see bug 2)␈↓ ↓H
␈↓ ↓H␈βε`␈↓β␈↓1␈↓∂:␈↓¬n<NAME>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U␈α∂J␈α∂CR␈α∂o␈α∂A)␈α∂--␈α∂clobber␈α∂parameter␈α∂␈↓¬n␈↓β␈α∞of␈α∞overlay␈α∞from␈α∞contents␈α∞of␈α∞ac,␈↓ β↔
␈↓ β↔␈βε}␈↓β␈↓ β↔thereby␈α⊃making␈α⊃it␈α⊃"lie"␈α⊃if␈α⊃this␈α⊃parameter␈α⊃is␈α⊂later␈α⊂queried␈α⊂by␈α⊂the␈α⊂␈↓1␈↓¬n␈↓β␈↓ β↔
␈↓ β↔␈βπ≡␈↓β␈↓ β↔command␈α∂(occasionally␈α∂useful␈α∞to␈α∞interface␈α∞with␈α∞macros),␈α∞only␈α∞the␈α∞right␈↓ β↔
␈↓ β↔␈βπ<␈↓β␈↓ β↔halfword␈α∂is␈α∂used,␈α∂interpreted␈α∂as␈α∂a␈α∂signed-halfword␈α∂in␈α∂2's␈α∞complement␈↓ β↔
␈↓ β↔␈βπZ␈↓β␈↓ β↔notation.␈↓ β↔
␈↓ ↓H␈βπp␈↓β␈↓ ↓H␈↓1␈↓∂&␈↓¬<NAME_OF_RESULT>␈↓∂←␈↓¬␈↓¬<NAME␈↓#v1␈↓#>␈↓∂,␈↓εx␈↓∂␈↓#t1␈↓#␈↓εy␈↓∂␈↓#t1␈↓#␈↓∂&␈↓¬<NAME␈↓#v2␈↓#>␈↓∂,␈↓εx␈↓∂␈↓#t2␈↓#␈↓εy␈↓∂␈↓#t2␈↓#␈↓∂&...␈↓∂&␈↓¬<NAME␈↓#vn␈↓#>␈↓εx␈↓¬␈↓#vn␈↓#␈↓εy␈↓¬␈↓#vn␈↓#␈↓∂;␈↓ ↓H
␈↓ ↓H␈βλ⊗␈↓∂␈↓ αH␈↓β␈↓ β↔(U␈αJ␈αCR␈αo␈αA)␈α--␈αcombine␈αoverlays␈αby␈αlaying␈αthem␈αat␈αvarious␈αoffsets␈αand␈↓ β↔
␈↓ β↔␈βλ'␈↓β␈↓ β↔gluing␈α
them␈α
together␈α
to␈α
make␈α
a␈α
composite␈α
overlay␈α
--␈α
for␈α
i=1,2,..,n␈α
the␈α
i␈↓#
th␈↓#␈↓ β↔
␈↓ β↔␈βλJ␈↓β␈↓ β↔component␈αoverlay␈αis␈αshifted␈αso␈αthat␈αits␈αbase␈αpoint␈αis␈αlocated␈αat␈α(␈↓εx␈↓β␈↓#si␈↓#,␈↓εy␈↓β␈↓#si␈↓#)␈↓ β↔
␈↓ β↔␈βλp␈↓β␈↓ β↔relative␈α∪to␈α∩the␈α∩logical␈α∩basepoint␈α∩of␈α∩the␈α∩resultant␈α∩overlay␈α∩--␈α∩all␈α∩six␈↓ β↔
␈↓ β↔␈β	∞␈↓β␈↓ β↔parameters␈α∂are␈α∂computed␈α∂according␈α∂to␈α∂the␈α∂offsets␈α∂and␈α∂parameters␈α∂of␈↓ β↔
␈↓ β↔␈β	,␈↓β␈↓ β↔the␈α
components␈α
--␈α
if␈α
you␈α
leave␈α
out␈α
the␈α
comma␈αand␈αxy␈αarguments␈αfrom␈↓ β↔
␈↓ β↔␈β	J␈↓β␈↓ β↔any␈αcomponent,␈αit␈αwill␈αplace␈αthat␈αcomponent␈αjust␈αto␈αthe␈αright␈αof␈αwhat␈αis␈↓ β↔
␈↓ β↔␈β	h␈↓β␈↓ β↔already␈α
prepared,␈α
and␈α
use␈α
0␈α
for␈α
the␈α
y-offset.␈↓ β↔
␈↓ ↓H␈β	}␈↓β␈↓ ↓H␈↓1␈↓∂O␈↓¬<NAME>␈↓∂,␈↓εxy␈↓ ↓H
␈↓ ↓H␈β
≤␈↓ε␈↓1␈↓∂W␈↓¬<NAME>␈↓∂,␈↓εxy␈↓ ↓H
␈↓ ↓H␈β
@␈↓ε␈↓1␈↓∂O␈↓¬<NAME>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U)␈α--␈αoutput␈αoverlay␈αto␈αXGP,␈αwith␈αbasepoint␈αmoved␈αto␈α
absolute␈α
location␈↓ β↔
␈↓ β↔␈β
X␈↓β␈↓ β↔(␈↓εx␈↓β,␈↓εy␈↓β)␈α--␈αyou␈αcan␈αoutput␈αan␈αoverlay␈α
randomly␈α
anywhere␈α
on␈α
the␈α
page,␈α
or␈↓ β↔
␈↓ β↔␈β
v␈↓β␈↓ β↔you␈α⊗can␈α⊗replace␈α⊗the␈α⊗"␈↓∂,␈↓εxy␈↓β"␈α⊗by␈α⊗"␈↓∂;␈↓β"␈α⊗(see␈α⊗syntax,␈α⊗at␈α⊗left␈α⊗of␈α⊗this␈↓ β↔
␈↓ β↔␈β≤␈↓β␈↓ β↔paragraph)␈α⊂to␈α⊂get␈α⊂the␈α∂Gosper-requested␈α∂default␈α∂for␈α∂which␈α∂no␈α∂special␈↓ β↔
␈↓ β↔␈β:␈↓β␈↓ β↔claim␈α⊂is␈α⊂made,␈α⊂except␈α⊂to␈α⊂say␈α⊂that␈α⊂the␈α⊂overlay␈α∂is␈α∂placed␈α∂"just␈α∂below"␈↓ β↔
␈↓ β↔␈βX␈↓β␈↓ β↔where␈α
you␈α
were␈α
writing␈α
plain␈α
text␈αpreviously␈α--␈αBecause␈αtext␈αmust␈αbe␈↓ β↔
␈↓ β↔␈βv␈↓β␈↓ β↔presented␈α⊂in␈α⊂ascending␈α⊂Y-sequence␈α⊂to␈α∂the␈α∂XGP,␈α∂you␈α∂must␈α∂enable␈α∂the␈↓ β↔
␈↓ β↔␈β∀␈↓β␈↓ β↔simulator␈α⊃(see␈α⊃note␈α⊃2)␈α⊂whenever␈α⊂you␈α⊂place␈α⊂ordinary␈α⊂text␈α⊂below␈α⊂any␈↓ β↔
␈↓ β↔␈β2␈↓β␈↓ β↔overlay␈α∃on␈α∃the␈α∃same␈α∃page.␈α∃--␈α∃ADDENDA␈α∀1975.JUL-AUG␈α∀--␈α∀At␈α∀the␈↓ β↔
␈↓ β↔␈βP␈↓β␈↓ β↔insistance␈α∂of␈α∂Ralph␈α∂Gorin,␈α∂the␈α∂default␈α∂way␈α∂these␈α∂commands␈α∞work␈α∞is␈α∞a␈↓ β↔
␈↓ β↔␈βn␈↓β␈↓ β↔complicated␈α∞illogical␈α∞mess␈α∞that␈α∞happened␈α∞to␈α∞be␈α∞implemented␈α∞for␈α∞a␈α∞few␈↓ β↔
␈↓ β↔␈β
␈↓β␈↓ β↔days␈α∞in␈α∞July.␈α∞If␈α∞you␈α∞have␈α∞the␈α∞'200000␈α∞bit␈α∞on,␈α∞as␈α∞I␈α∞reccommend␈α∞for␈α∞all␈↓ β↔
␈↓ β↔␈β
(␈↓β␈↓ β↔new␈α⊃files,␈α⊃the␈α⊃following␈α⊃more␈α⊃reasonable␈α⊃thing␈α⊃happens:␈α⊂␈↓1␈↓∂O␈↓¬...␈↓β␈α⊂always␈↓ β↔
␈↓ β↔␈β
H␈↓β␈↓ β↔affects␈α⊂your␈α⊂page␈α⊂printer,␈α⊂and␈α⊂register␈α∂␈↓∂;␈↓β␈α∂if␈α∂the␈α∂simulator␈α∂on.,␈α∂and␈α∂is␈↓ β↔
␈↓ β↔␈β
f␈↓β␈↓ β↔supposed␈α
to␈α
be␈α
used␈α
for␈α
displays␈α
that␈α
occur␈α
in␈α
the␈α
middle␈α
of␈α
text,␈αnot␈↓ β↔
␈↓ β↔␈β∞α␈↓β␈↓ β↔page␈αheaders/footings.␈α␈↓1␈↓∂W␈↓¬...␈↓β␈αnever␈αaffects␈αyour␈αpage␈αprinter␈αor␈αregister␈↓ β↔
␈↓ β↔␈β∞"␈↓β␈↓ β↔␈↓∂;␈↓β␈α∂and␈α∂is␈α∂useful␈α∂for␈α∞headings/footings,␈α∞especially␈α∞from␈α∞the␈α∞EVERYPAGE␈↓ β↔
␈↓ β↔␈β∞>␈↓β␈↓ β↔macro␈αfeature.␈αThe␈αfollowing␈αother␈αdifferences␈αexist:␈αthe␈α␈↓1␈↓∂W␈↓β...␈αcommand␈↓ β↔
␈↓ β↔␈β∞↑␈↓β␈↓ β↔will␈αforce␈αthe␈αoverlay␈αto␈αbe␈αon␈αthe␈αsame␈αpage,␈αeven␈αif␈αit␈αis␈αoutside␈αthe␈↓ β↔
␈↓ β↔␈β∞z␈↓β␈↓ β↔normal␈α
page␈α
margins,␈α
whereas␈α
the␈α
␈↓1␈↓∂O␈↓β...␈α
command␈α
will␈α
warn␈α
you␈α
if␈α
it␈α
is␈↓ β↔
␈↓ β↔␈β∂~␈↓β␈↓ β↔below␈α⊃the␈α⊃bottom␈α⊃of␈α⊃the␈α⊃page,␈α⊃or␈α⊂if␈α⊂VERPAG␈α⊂is␈α⊂on␈α⊂(see␈α⊂the␈α⊂special␈↓ β↔
␈↓ β↔␈β∂8␈↓β␈↓ β↔features␈α
section)␈α
it␈α
will␈α
be␈α
placed␈α
on␈α
the␈α
next␈α
page␈α
automatically.␈↓ β↔
␈↓ 
c␈↓α 11␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 12␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓H␈↓1␈↓∂∂␈↓¬<NEW_NAME>␈↓∂←␈↓¬<OLD_NAME>␈↓∂;␈↓ ↓H
␈↓ ↓H␈β↓h␈↓∂␈↓β␈↓ β↔(U␈αJ␈αCR␈αo␈αA)␈α--␈αrename␈αoverlay␈αor␈αmacro␈α
--␈α
if␈α
resultant␈α
name␈α
is␈α
the␈α
null␈↓ β↔
␈↓ β↔␈βαε␈↓β␈↓ β↔string␈α
then␈α
delete␈α
rather␈α
than␈α
rename␈α
--␈α
It␈α
is␈α
probably␈αa␈αgood␈αidea␈αto␈↓ β↔
␈↓ β↔␈βα$␈↓β␈↓ β↔delete␈αany␈αobsolete␈αoverlays␈αor␈αmacros␈αto␈αsave␈αcore␈α--␈αThe␈αonly␈αother␈↓ β↔
␈↓ β↔␈βαB␈↓β␈↓ β↔major␈α∩reason␈α∩for␈α⊃using␈α⊃this␈α⊃command␈α⊃now␈α⊃is␈α⊃to␈α⊃temporarily␈α⊃rename␈↓ β↔
␈↓ β↔␈βα`␈↓β␈↓ β↔something␈α∪so␈α∪that␈α∪it␈α∩can␈α∩be␈α∩temporarily␈α∩redefined,␈α∩then␈α∩delete␈α∩the␈↓ β↔
␈↓ β↔␈βα}␈↓β␈↓ β↔temporary␈α⊂definition␈α⊂and␈α⊂rename␈α⊂the␈α⊂permanent␈α∂definition␈α∂back␈α∂again␈↓ β↔
␈↓ β↔␈ββ≤␈↓β␈↓ β↔when␈α
done␈α
--␈α
The␈α
rename␈α
algorithm␈α
currently␈α
is␈α
as␈α
follows:␈α
Do␈α
all␈αthe␈↓ β↔
␈↓ β↔␈ββ:␈↓β␈↓ β↔following,␈αfirst␈αfor␈αoverlays,␈αthen␈αif␈αthat␈αfalls␈αthru,␈αfor␈αmacros:␈α(1)␈αstart␈↓ β↔
␈↓ β↔␈ββX␈↓β␈↓ β↔at␈αthe␈αtop␈αof␈αlist␈αof␈αdefinitions,␈αi.e.␈αmost␈αrecently-defined␈αitem;␈α(2)␈αif␈αits␈↓ β↔
␈↓ β↔␈ββv␈↓β␈↓ β↔name␈α
equals␈α
␈↓¬<OLD>␈↓β␈α
then␈α
clobber␈α
its␈α
retrieval␈α
name␈α
to␈α␈↓¬<NEW>␈↓β␈αand␈αreturn␈↓ β↔
␈↓ β↔␈β∧∀␈↓β␈↓ β↔from␈α∞the␈α∞Do␈α∞loop,␈α∞else␈α∞if␈α
its␈α
name␈α
equals␈α
␈↓¬<NEW>␈↓β␈α
then␈α
delete␈α
it␈α
and␈α
fall␈↓ β↔
␈↓ β↔␈β∧2␈↓β␈↓ β↔through␈α∞to␈α∞3,␈α
else␈α
do␈α
nothing␈α
and␈α
fall␈α
through␈α
to␈α
3;␈α
(3)␈α
move␈α
down␈α
to␈↓ β↔
␈↓ β↔␈β∧P␈↓β␈↓ β↔next␈α∩older␈α∩item␈α⊃in␈α⊃the␈α⊃list;␈α⊃(4)␈α⊃go␈α⊃to␈α⊃2.␈α⊃--␈α⊃Thus␈α⊃it␈α⊃is␈α⊃possible␈α⊃that␈↓ β↔
␈↓ β↔␈β∧n␈↓β␈↓ β↔renaming␈α⊂the␈α⊂latest␈α⊂version␈α⊂of␈α⊂a␈α∂twice-defined␈α∂overlay␈α∂or␈α∂macro␈α∂will␈↓ β↔
␈↓ β↔␈β¬␈↓β␈↓ β↔unmask␈αthe␈αolder␈αversion.␈αDon't␈α
rely␈α
on␈α
this,␈α
it␈α
depends␈α
too␈α
much␈α
on␈α
the␈↓ β↔
␈↓ β↔␈β¬*␈↓β␈↓ β↔structure␈αof␈αthe␈αtables␈αof␈αdefinitions,␈αand␈αis␈αlikely␈αto␈αchange␈αin␈α
the␈α
near␈↓ β↔
␈↓ β↔␈β¬H␈↓β␈↓ β↔future␈α
without␈α
warning!␈↓ β↔
␈↓ ↓H␈β¬f␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈βε␈↓β␈↓␈↓ ¬
Examples of use of overlays␈↓ ↓H
␈↓ ↓H␈βε"␈↓␈↓∂$oNUM[1-b+SQRT(b$↑=10;2$⊗-4ac)]$;  set up the numerator␈↓ ↓H
␈↓ ↓H␈βε@␈↓∂$oDEN[12a]$←=0;$→0$; set up the denominator and a useful register␈↓ ↓H
␈↓ ↓H␈βε↑␈↓∂$; NOTE -- The algorithm as presented here only works when NUM is wider than DEN␈↓ ↓H
␈↓ ↓H␈βε|␈↓∂$1NUM;$→X$2NUM;$+X$→A$; set up x offset, compute size of numerator␈↓ ↓H
␈↓ ↓H␈βπ~␈↓∂$oBAR[V00A0=2;]$; set up a fraction bar the correct length for numerator␈↓ ↓H
␈↓ ↓H␈βπ8␈↓∂$4NUM;$+=3;$¬0$→Y$3DEN;$+=5;$→y$; compute y offsets␈↓ ↓H
␈↓ ↓H␈βπV␈↓∂$1DEN;$→1$2DEN;$¬1$+A$/=2;$→x$; compute x offset␈↓ ↓H
␈↓ ↓H␈βπt␈↓∂$&FRAC←NUM,XY&DEN,xy&BAR,00;$; make fraction a composite overlay␈↓ ↓H
␈↓ 	j␈βπ{␈↓-b+SQRT(b␈↓#
2␈↓#-4ac)
␈↓ ↓H␈βλ∩␈↓∂$2FRAC;$¬R$→X$4FRAC;$¬;$→Y$OFRAC,XY$; output overlay rightified␈↓ ↓H
␈∧λ&	jα↓|␈↓ 
W␈βλ+␈↓2a
␈↓ ↓H␈βλ0␈↓∂␈↓ ↓H
␈↓ ↓H␈βλS␈↓∂␈↓ ↓H
␈↓ ↓H␈βλq␈↓∂␈↓β␈↓ α_Here's␈αa␈αuseful␈αhack␈αusing␈α
overlays.␈α
Suppose␈α
you␈α
want␈α
to␈α
find␈α
out␈α
how␈α
wide␈α
a␈α
string␈α
of␈α
text␈α
is␈α
in␈↓ ↓H
␈↓ ↓H␈β	∂␈↓β␈↓ ↓Ha␈αparticular␈αfont␈α(or␈αcombination␈αof␈αfonts).␈αYou␈αcan␈αcreate␈αan␈αoverlay,␈αmeasure␈αits␈α
parameters␈α
(1,2,3,4),␈↓ ↓H
␈↓ ↓H␈β	-␈↓β␈↓ ↓Hthen␈αdelete␈αit␈αright␈αaway␈αto␈αreclaim␈αthe␈αspace␈αused␈αby␈αthe␈αoverlay␈αthat␈αyou␈αwon't␈αactually␈αbe␈α
using␈α
as␈↓ ↓H
␈↓ ↓H␈β	K␈↓β␈↓ ↓Han␈α
overlay.␈↓ ↓H
␈↓ ↓H␈β	i␈↓β␈↓ ↓H
␈↓ ↓H␈β
β␈↓β␈↓␈↓ β⊃MACROS (WITHOUT ARGUMENTS) AND REQUIRE SOURCE FILES␈↓ ↓H
␈↓ ↓H␈β
%␈↓␈↓β␈↓ α_All␈αinput␈αto␈αthe␈αPOX␈αtext␈αprocessor␈αpasses␈αthrough␈αa␈αpre-processor␈αwhich␈αinserts␈αmacro␈αbodies,␈↓ ↓H
␈↓ ↓H␈β
C␈↓β␈↓ ↓Harguments␈α∞to␈α∞macros,␈α∞and␈α∞requested␈α∞source␈α∞files␈α∞in␈α∞the␈α∞middle␈α∞of␈α∞the␈α∞input␈α∞stream␈α∞according␈α
to␈α
the␈↓ ↓H
␈↓ ↓H␈β
a␈↓β␈↓ ↓Hfollowing␈α
commands:␈↓ ↓H
␈↓ ↓H␈β
⎇␈↓β␈↓1␈↓∂∞␈↓¬<NAME><OPEN><BODY><CLOSE>␈↓ ↓H
␈↓ ↓H␈β≥␈↓¬␈↓ αλ␈↓ αH␈↓β␈↓ β↔(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
define␈α
a␈α
macro␈α
for␈α
use␈α
later␈α
--␈α
note␈α
that␈α
in␈α
names␈αof␈↓ β↔
␈↓ β↔␈β;␈↓β␈↓ β↔macros,␈αjust␈αlike␈αalmost␈αeverywhere␈αelse,␈αlower␈αcase␈αis␈αnot␈αthe␈αsame␈αas␈↓ β↔
␈↓ β↔␈βY␈↓β␈↓ β↔upper␈α⊂case,␈α⊂thus␈α∂␈↓∂foo␈α∂Foo␈α∂fOO␈α∂FOO␈α∂fOo␈α∂foO␈α∂FoO␈α∂␈↓βand␈↓∂␈α∂FOo␈↓β␈α∂are␈α∂eight␈↓ β↔
␈↓ β↔␈βs␈↓β␈↓ β↔different␈α∪names␈α∪--␈α∪also,␈α∩the␈α∩␈↓¬<BODY>␈↓␈α∩is␈α∩not␈α∩evaluated␈α∩during␈α∩this␈↓ β↔
␈↓ β↔␈β⊃␈↓␈↓ β↔definition␈α∪phase␈↓β,␈α∪i.e.␈α∪the␈α∪escape␈α∪character␈α∩and␈α∩anything␈α∩else␈α∩may␈↓ β↔
␈↓ β↔␈β3␈↓β␈↓ β↔occur␈α∞in␈α∞the␈α∞body,␈α
nothing␈α
special␈α
happens␈α
as␈α
the␈α
escape␈α
character␈α
is␈↓ β↔
␈↓ β↔␈βQ␈↓β␈↓ β↔copied␈α∩into␈α∩the␈α∩macro,␈α⊃escape␈α⊃only␈α⊃occurs␈α⊃later␈α⊃when␈α⊃the␈α⊃macro␈α⊃is␈↓ β↔
␈↓ β↔␈βo␈↓β␈↓ β↔actually␈α⊂called,␈α⊂resulting␈α⊂in␈α⊂the␈α∂escape␈α∂character␈α∂and␈α∂everything␈α∂else␈↓ β↔
␈↓ β↔␈β

␈↓β␈↓ β↔getting␈α
stuffed␈α
into␈α
the␈α
input␈α
stream.␈↓ β↔
␈↓ ↓H␈β
)␈↓β␈↓ ↓H␈↓1␈↓∂!␈↓¬<NAME>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U␈αJ␈αCR␈αo␈α
A)␈α
--␈α
call␈α
a␈α
macro,␈α
i.e.␈α
insert␈α
body␈α
from␈α
definition␈α
right␈α
here␈α
in␈↓ β↔
␈↓ β↔␈β
I␈↓β␈↓ β↔input␈α∂stream,␈α∂hence␈α∂occurrances␈α∂of␈α∂the␈α∂escape␈α∂character␈α∞in␈α∞the␈α∞body␈↓ β↔
␈↓ β↔␈β
g␈↓β␈↓ β↔will␈α
cause␈α
things␈α
to␈α
occur␈α
now␈α
(See␈α
note␈α
1␈α
also)␈↓ β↔
␈↓ ↓H␈β∞β␈↓β␈↓ ↓H␈↓1␈↓∂?␈↓¬<NAME>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U␈α∪J␈α∩CR␈α∩o␈α∩A)␈α∩--␈α∩"conditional␈α∩macro"␈α∩--␈α∩same␈α∩syntax␈α∩as␈α∩above␈α∩but␈↓ β↔
␈↓ β↔␈β∞#␈↓β␈↓ β↔generate␈α
nothing␈α
unless␈α
accumulator␈α
is␈α
positive␈α
(See␈α
note␈α
3)␈↓ β↔
␈↓ ↓H␈β∞A␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β∞]␈↓β␈↓1␈↓∂@␈↓¬<FILNAM>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
insert␈α
source␈α
file␈α
here␈α
then␈α
return␈α
to␈α
current␈α
file.␈↓ β↔
␈↓ ↓H␈β∞{␈↓β␈↓ ↓H␈↓1␈↓∂α␈↓¬<FILNAM>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U)␈α∞--␈α
insert␈α
source␈α
file␈α
here␈α
but␈α
don't␈α
come␈α
back␈α
here␈α
--␈α
the␈α
rest␈α
of␈↓ β↔
␈↓ β↔␈β∂≠␈↓β␈↓ β↔this␈α
file,␈α
and␈α
any␈α
files␈α
that␈α
called␈α
it,␈α
are␈α
not␈α
processed.␈↓ β↔
␈↓ 
c␈↓α 12␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 13␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓H␈↓1␈↓∂∀␈↓¬<FILNAM>␈↓∂;␈↓¬<LIST OF DESIRED MACRO NAMES>␈↓∂;␈↓ ↓H
␈↓ ↓H␈β↓h␈↓∂␈↓ αH␈↓β␈↓ β↔(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
scan␈α
source␈α
file␈α
that␈α
contains␈α
macro␈α
definitions␈α
(see␈α
next␈↓ β↔
␈↓ β↔␈βαε␈↓β␈↓ β↔section␈αon␈αmacros␈αwith␈αarguments,␈αas␈αwell␈αas␈αthis␈αsection,␈αfor␈αdetails␈αon␈↓ β↔
␈↓ β↔␈βα$␈↓β␈↓ β↔the␈α∂macro␈α∂definitions␈α∂themselves).␈α∂At␈α∂present,␈α∂the␈α∂file␈α∂must␈α∂contain␈α∂a␈↓ β↔
␈↓ β↔␈βαB␈↓β␈↓ β↔TV/E␈α∞directory␈α
to␈α
avoid␈α
a␈α
bug␈α
in␈α
POX.␈α
Nothing␈α
in␈α
the␈α
file␈α
is␈α
processed␈↓ β↔
␈↓ β↔␈βα`␈↓β␈↓ β↔unless␈α∞it␈α∞simultaneously␈α∞satisfies␈α∞these␈α∞conditions:␈α∞(1)␈α∞It␈α∞begins␈α∞with␈α
a␈↓ β↔
␈↓ β↔␈βα}␈↓β␈↓ β↔brick␈αcharacter␈αin␈αcolumn␈α1␈αof␈αthe␈αfile,␈αi.e.␈αimmediately␈αafter␈αa␈αlinefeed;␈↓ β↔
␈↓ β↔␈ββ≤␈↓β␈↓ β↔(2)␈α∞It␈α
has␈α
either␈α
a␈α
␈↓∂∞␈↓β␈α
or␈α
␈↓∂8␈↓β␈α
in␈α
column␈α
2,␈α
i.e.␈α
it␈α
is␈α
a␈α
command␈α
to␈α
define␈α
a␈↓ β↔
␈↓ β↔␈ββ8␈↓β␈↓ β↔macro;␈α⊂(3)␈α⊂The␈α⊂name␈α⊂of␈α⊂the␈α⊂macro␈α⊂(in␈α⊂the␈α∂␈↓1␈↓∂∞␈↓β␈α∂or␈α∂␈↓1␈↓∂8␈↓β␈α∂command␈α∂being␈↓ β↔
␈↓ β↔␈ββX␈↓β␈↓ β↔tested)␈α∂is␈α∂a␈α∂member␈α∂of␈α∂␈↓¬<LIST␈α∞OF␈α∞DESIRED␈α∞MACRO␈α∞NAMES>␈↓β␈α∞that␈α∞has␈α∞not␈α∞yet␈↓ β↔
␈↓ β↔␈ββt␈↓β␈↓ β↔been␈α
used.␈α
In␈α
particular,␈α
␈↓1␈↓∂!␈↓¬...␈↓β␈α
commands␈α
are␈α
not␈α
processed,␈αso␈αthat␈αthe␈↓ β↔
␈↓ β↔␈β∧∀␈↓β␈↓ β↔entire␈α⊗library␈α⊗must␈α⊗use␈α⊗the␈α⊗same␈α⊗brick␈α⊗character,␈α⊗and␈α∃this␈α∃brick␈↓ β↔
␈↓ β↔␈β∧0␈↓β␈↓ β↔character␈αmust␈αbe␈αset␈αup␈αbefore␈αissuing␈αthe␈α
␈↓1␈↓∂∀␈↓¬...␈↓β␈α
command.␈α
Also,␈α
␈↓1␈↓∂⊂␈↓β␈α
etc.␈↓ β↔
␈↓ β↔␈β∧P␈↓β␈↓ β↔commands␈αare␈αnot␈αprocessed,␈αso␈αthat␈αall␈αbits␈αneeded␈αfor␈αcorrect␈αloading␈↓ β↔
␈↓ β↔␈β∧n␈↓β␈↓ β↔of␈α∀macros,␈α∀namely␈α∀VERREM='40,␈α∀VERRHT='400␈α∪and␈α∪VERESC='100000,␈↓ β↔
␈↓ β↔␈β¬
␈↓β␈↓ β↔must␈α∀be␈α∀in␈α∀the␈α∀proper␈α∪state␈α∪before␈α∪issuing␈α∪the␈α∪␈↓1␈↓∂∀␈↓β␈α∪command.␈α∪For␈↓ β↔
␈↓ β↔␈β¬*␈↓β␈↓ β↔documentation␈αpurposes␈α
,␈α
any␈α
library␈α
of␈α
POX␈α
macros␈α
should␈α
begin␈α
with␈α
a␈↓ β↔
␈↓ β↔␈β¬F␈↓β␈↓ β↔comment␈α
(or␈α
a␈α
␈↓1␈↓∂⊂␈α␈↓1␈↓∂⊃␈↓β␈αcommand␈αpair)␈αthat␈αreminds␈αusers␈αof␈αthe␈αcorrect␈↓ β↔
␈↓ β↔␈β¬f␈↓β␈↓ β↔states␈α
of␈α
these␈α
special-feature␈α
flags.␈α
--␈α
Example:␈↓ β↔
␈↓ ↓H␈βεα␈↓β␈↓ ↓H␈↓ β7␈↓1␈↓∂∀REMLIB.POX[1,REM];DATIME,PAGENUMS,SUB,SUP,PAGENUMS;␈↓ β↔
␈↓ ↓H␈βε"␈↓∂␈↓β␈↓ β↔This␈α⊗loads␈α⊗the␈α⊗second-occurring␈α⊗version␈α⊗of␈α∃PAGENUMS␈α∃on␈α∃top␈α∃of␈↓ β↔
␈↓ β↔␈βε@␈↓β␈↓ β↔(replacing)␈α⊃the␈α⊃first,␈α⊂and␈α⊂loads␈α⊂only␈α⊂the␈α⊂first␈α⊂version␈α⊂of␈α⊂each␈α⊂of␈α⊂the␈↓ β↔
␈↓ β↔␈βε↑␈↓β␈↓ β↔other␈α∞macros.␈α∞It␈α∞is␈α∞probably␈α∞preferable␈α∞to␈α
use␈α
"fully-cataloged"␈α
names␈↓ β↔
␈↓ β↔␈βε|␈↓β␈↓ β↔rather␈α∪than␈α∪have␈α∩several␈α∩different␈α∩macros␈α∩by␈α∩the␈α∩same,␈α∩then␈α∩after␈↓ β↔
␈↓ β↔␈βπ_␈↓β␈↓ β↔loading␈α⊃to␈α⊃rename␈α⊃each␈α⊂macro␈α⊂(using␈α⊂the␈α⊂␈↓1␈↓∂∂␈↓β␈α⊂command)␈α⊂to␈α⊂a␈α⊂shorter␈↓ β↔
␈↓ β↔␈βπ8␈↓β␈↓ β↔name␈α∂that␈α∂will␈α∂be␈α∂used␈α∂locally.␈α∂[REM␈α∂is␈α∂in␈α∂the␈α∂process␈α∞of␈α∞compiling␈α∞a␈↓ β↔
␈↓ β↔␈βπV␈↓β␈↓ β↔library␈α
of␈α
some␈α
of␈α
the␈α
generally-useful␈α
and␈α
requested␈α
macros␈α
--␈α1975␈↓ β↔
␈↓ β↔␈βπt␈↓β␈↓ β↔Oct-Dec.]␈↓ β↔
␈↓ ↓H␈βλ⊂␈↓β␈↓ ↓H␈↓1␈↓∂β␈↓¬<FILNAM>␈↓∂;␈↓ βH␈↓β␈↓ β↔(U␈αJ␈αCR␈αo␈αA)␈α--␈αlookup␈αfile␈αbut␈α
don't␈α
read␈α
any␈α
of␈α
it.␈α
Warn␈α
the␈α
user␈α
if␈α
the␈↓ β↔
␈↓ β↔␈βλ0␈↓β␈↓ β↔file␈α
does␈α
not␈α
exist.␈α
Do␈α
not␈α
in␈α
any␈αcase␈αgenerate␈αan␈αerror␈αor␈αaffect␈αthe␈↓ β↔
␈↓ β↔␈βλN␈↓β␈↓ β↔state␈α⊂of␈α⊂the␈α⊂text␈α⊂compilation␈α⊂in␈α⊂progress.␈α⊂Useful␈α⊂for␈α∂checking␈α∂all␈α∂the␈↓ β↔
␈↓ β↔␈βλl␈↓β␈↓ β↔required␈αsource␈αfiles␈αat␈αthe␈αbeginning␈αof␈αa␈α
long␈α
compilation␈α
to␈α
save␈α
time␈↓ β↔
␈↓ β↔␈β	
␈↓β␈↓ β↔if␈α
several␈α
files␈α
to␈α
be␈α
called␈α
later␈α
are␈α
missing␈α
and␈α
need␈α
to␈α
be␈α
restored.␈↓ β↔
␈↓ ↓H␈β	(␈↓β␈↓ ↓H␈↓ α_In␈α
the␈α
above,␈α
␈↓¬<FILNAM>␈↓β␈α
is␈α
a␈α
standard␈α
file␈α
name␈α
␈↓∂FILNAM.EXT[P,P]␈↓β␈α
which␈α
must␈α
be␈α
either␈α
a␈α
non-POX␈↓ ↓H
␈↓ ↓H␈β	F␈↓β␈↓ ↓Hfile␈α∂with␈α∞no␈α∞occurrances␈α∞of␈α∞the␈α∞brick␈α∞character␈α∞or␈α∞a␈α∞pox␈α∞file␈α∞that␈α∞does␈α∞not␈α∞begin␈α∞with␈α∞a␈α∞bare␈α∞brick␈↓ ↓H
␈↓ ↓H␈β	b␈↓β␈↓ ↓Hcharacter␈α⊃i.e.␈α⊃it␈α⊃should␈α⊃begin␈α⊂with␈α⊂something␈α⊂like␈α⊂␈↓1␈↓∂|␈↓1␈↓β,␈α⊂␈↓¬<OPEN>␈↓β␈α⊂and␈α⊂␈↓¬<CLOSE>␈↓β␈α⊂are␈α⊂a␈α⊂matching␈α⊂pair␈α⊂of␈↓ ↓H
␈↓ ↓H␈β
α␈↓β␈↓ ↓Hparenthesis␈αsuch␈αas␈α␈↓∂()␈α[]␈α{}␈α⊂⊃␈α<>␈↓β,␈αin␈αwhich␈αcase␈αoccurrances␈αof␈αthese␈αcharacters␈αin␈αthe␈αbody␈αmust␈↓ ↓H
␈↓ ↓H␈β
 ␈↓β␈↓ ↓Hbe␈α
correctly␈α
matched,␈α
or␈α
two␈α
identical␈α
quoting␈α
characters␈α
such␈α
as␈α
␈↓∂""␈α
//␈α
↓↓␈α
⊗⊗␈α
||␈α∂∂␈↓β,␈αin␈αwhich␈αcase␈↓ ↓H
␈↓ ↓H␈β
>␈↓β␈↓ ↓Hthe␈α∂quoting␈α∂character␈α∂is␈α∂not␈α∂allowed␈α∂to␈α∂occur␈α∂in␈α∂the␈α∂body␈α∂at␈α∂all␈α∂(the␈α∞complete␈α∞current␈α∞list␈α∞of␈α∞legal␈↓ ↓H
␈↓ ↓H␈β
\␈↓β␈↓ ↓Hnesting␈α
and␈α
quoting␈α
characters␈α
may␈α
be␈α
found␈α
by␈α
examining␈α
the␈α
source␈α
for␈α
POX).␈↓ ↓H
␈↓ ↓H␈β
x␈↓β␈↓ α_<UC>␈αare␈αuncoupling␈αflags␈α(in␈α␈↓1␈↓∂@␈↓β␈αcommand,␈αafter␈αfile␈αname,␈αbefore␈α";"),␈αcurrently␈αunimplemented.␈↓ ↓H
␈↓ ↓H␈β_␈↓β␈↓ ↓HTheir␈αpurpose␈αwill␈αbe␈αto␈αsave␈αvarious␈αinternal␈αstates␈αbefore␈αbeginning␈αto␈αinput␈αan␈αinserted␈αsource␈αfile,␈↓ ↓H
␈↓ ↓H␈β6␈↓β␈↓ ↓Hthen␈α∃to␈α∃restore␈α∃those␈α∃states␈α∃before␈α∃returning␈α∃so␈α∃that␈α∃the␈α∃inserted␈α∃file␈α∃won't␈α∀pass␈α∀undesired␈↓ ↓H
␈↓ ↓H␈βT␈↓β␈↓ ↓Hside-effects␈αback␈αto␈αthe␈αmain␈αprogram.␈αIn␈αthe␈αabsence␈αof␈αany␈α<UC>␈αflags,␈αany␈αmacro-definitions␈αor␈αfont␈↓ ↓H
␈↓ ↓H␈βr␈↓β␈↓ ↓Hcompilations␈αetc.␈αdone␈αin␈αthe␈αinserted␈α
source␈α
file␈α
will␈α
stay␈α
in␈α
effect␈α
after␈α
returning␈α
to␈α
the␈α
current␈α
file,␈α
a␈↓ ↓H
␈↓ ↓H␈β⊂␈↓β␈↓ ↓Hsometimes␈α
undesirable␈α
effect.␈↓ ↓H
␈↓ ↓H␈β.␈↓β␈↓ ↓H
␈↓ ↓H␈βH␈↓β␈↓␈↓ ∧>Examples of macros without arguments␈↓ ↓H
␈↓ ↓H␈βj␈↓␈↓∂$∞SUPERSCRIPT[$F1$∩$F2]$∞NORMAL[$F1$⊗]$;␈↓ ↓H
␈↓ ↓H␈β
λ␈↓∂$!NORMAL;Y = X$!SUPERSCRIPT;i+1$!NORMAL;-1␈↓ ↓H
␈↓ ↓H␈β
↔␈↓∂␈↓␈↓#Y = X␈↓␈↓#∂␈↓α␈↓#∂i+1␈↓␈↓#∂␈↓#-1␈↓ ↓H
␈↓ ↓H␈β
@␈↓␈↓ ↓H
␈↓ ↓H␈β
b␈↓␈↓∂$∞SOJGxFOO[$F2(FOO)$←N$-=1;$→N$?SOJGxFOO;]$; set up a count-down-to-zero loop␈↓ ↓H
␈↓ ↓H␈β∞␈↓∂$; note that the above macro will recursively call itself N levels deep␈↓ ↓H
␈↓ ↓H␈β∞≡␈↓∂$←=15;$→N$!SOJGxFOO;$; call the loop with N=15 to generate 15 copies of (FOO)␈↓ ↓H
␈↓ ↓H␈β∞<␈↓∂␈↓ ↓H
␈↓ ↓H␈β∞Z␈↓∂␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓α(FOO)␈↓ ↓H
␈↓ ↓H␈β∞x␈↓α␈↓ ↓H
␈↓ ↓H␈β∂⊗␈↓α␈↓ ↓H
␈↓ ↓H␈β∂P␈↓α␈↓ ↓H␈↓ ↓H
␈↓ 
c␈↓α 13␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 14␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓α␈↓␈↓ β~MACROS WITH ARGUMENTS -- EVALUATED LIKE LISP EXPR'S␈↓ ↓H
␈↓ ↓H␈β↓j␈↓␈↓β␈↓ α_Many␈α
of␈α
the␈αcommands␈αdescribed␈αabove␈αare␈αtoo␈αelementary␈αto␈αbe␈αless␈αthan␈αtedious␈αin␈αpractice,␈↓ ↓H
␈↓ ↓H␈βαλ␈↓β␈↓ ↓Heven␈α⊃with␈α⊃macros␈α⊃used␈α⊃to␈α⊂abbreviate␈α⊂long␈α⊂sequences␈α⊂of␈α⊂commands.␈α⊂Complicated␈α⊂things␈α⊂are␈α⊂almost␈↓ ↓H
␈↓ ↓H␈βα&␈↓β␈↓ ↓Hunbearable,␈α∞for␈α∞example␈α∞to␈α∞create␈α∞a␈α∞superscript␈α∞above␈α∞a␈α∞subscript␈α
as␈α
in␈α
"x-sub-i-to-the-nth-power"␈↓ ↓H
␈↓ ↓H␈βαD␈↓β␈↓ ↓Hwould␈α
require␈α
quite␈α
a␈α
mess␈α
of␈α
almost␈α
unreadable␈α
code,␈α
such␈α
as:␈↓ ↓H
␈↓ ↓H␈βα`␈↓β␈↓∂␈↓ αH␈↓1␈↓∂F1␈↓1␈↓∂⊗x␈↓1␈↓∂←.␈↓1␈↓∂→0␈↓1␈↓∂↑=15;␈↓1␈↓∂F2n␈↓1␈↓∂←.␈↓1␈↓∂→1␈↓1␈↓∂←0␈↓1␈↓∂→.␈↓1␈↓∂↓=12;i␈↓1␈↓∂←.␈↓1␈↓∂~1␈↓1␈↓∂→.␈↓1␈↓∂⊗␈↓1␈↓∂F1␈↓ ↓H
␈↓ ↓H␈ββ␈↓∂␈↓β␈↓ ↓Hwhere␈αyou␈αmay␈αhave␈αtrouble␈αlocating␈αthe␈αterms␈α"␈↓∂x␈↓β",␈α"␈↓∂n␈↓β"␈αand␈α"␈↓∂i␈↓β"␈αamong␈αall␈αthe␈αoverhead.␈αUsing␈αmacros␈↓ ↓H
␈↓ ↓H␈ββ≡␈↓β␈↓ ↓Hwithout␈α∩arguments␈α∩may␈α∩result␈α∩in␈α∩some␈α∩increase␈α∩in␈α∩readability.␈α∩This␈α⊃can␈α⊃be␈α⊃done␈α⊃in␈α⊃at␈α⊃least␈α⊃two␈↓ ↓H
␈↓ ↓H␈ββ<␈↓β␈↓ ↓Hreasonable␈α
ways,␈α
resulting␈α
in:␈↓ ↓H
␈↓ ↓H␈ββX␈↓β␈↓∂␈↓ αH␈↓1␈↓∂!txt;x␈↓1␈↓∂!savecol;␈↓1␈↓∂!sub;i␈↓1␈↓∂!swapcol;␈↓1␈↓∂!sup;n␈↓1␈↓∂!maxcol;␈↓β␈↓ ↓H
␈↓ ↓H␈ββv␈↓β␈↓βor␈↓∂␈↓ αH␈↓1␈↓∂∞main[x]␈↓1␈↓∂∞sub[i]␈↓1␈↓∂∞sup[n]␈↓1␈↓∂!sbp;␈↓ ↓H
␈↓ ↓H␈β∧⊗␈↓∂␈↓β␈↓ ↓HMacros␈α∂with␈α∂arguments␈α∂make␈α∂things␈α∂easier␈α∂and␈α∂much␈α∂more␈α∂readable.␈α∂After␈α∂once␈α∞defining␈α∞the␈α∞macro␈↓ ↓H
␈↓ ↓H␈β∧4␈↓β␈↓ ↓H␈↓∂sbp(main,sub,sup)␈↓β␈α~(see␈α~the␈α~examples␈α→later␈α→in␈α→this␈α→section␈α→for␈α→details)␈α→we␈α→can␈α→generate␈↓ ↓H
␈↓ ↓H␈β∧R␈↓β␈↓ ↓Hx-sub-i-to-the-nth-power␈α
by␈α
the␈α
simple:␈↓ ↓H
␈↓ ↓H␈β∧n␈↓β␈↓∂␈↓ αH␈↓1␈↓∂!sbp(x,i,n);␈↓β␈↓ ↓H
␈↓ ↓H␈β¬∞␈↓β␈↓β␈↓ ↓HThe␈α
pseudo-language␈α
we␈α
thus␈αbuild␈αup␈αout␈αof␈αmacros-with-arguments␈αpartially␈αobviates␈αthe␈αnecessity␈↓ ↓H
␈↓ ↓H␈β¬,␈↓β␈↓ ↓Hof␈α
fixing␈α
the␈α
"bad"␈α
syntax␈α
that␈α
POX␈α
has.␈↓ ↓H
␈↓ ↓H␈β¬J␈↓β␈↓ ↓H
␈↓ ↓H␈β¬h␈↓β␈↓β␈↓ ∧{DEFINE MACRO -- VERREM SYNTAX␈↓ ↓H
␈↓ ↓H␈βεε␈↓β␈↓β␈↓ β∞(THIS AND FOLLOWING SECTIONS WERE REWRITTEN 1975.NOV.27-DEC.05)␈↓ ↓H
␈↓ ↓H␈βε"␈↓β␈↓1␈↓∂8␈↓¬<NAME>␈↓∂(␈↓¬<ARGNAMES>␈↓∂)␈↓¬<OPEN><BODY><CLOSE>␈↓ ↓H
␈↓ ↓H␈βεB␈↓¬␈↓ αλ␈↓β␈↓ α?(U␈α⊂J␈α⊂CR␈α∂o␈α∂A)␈α∂--␈α∂Define␈α∂a␈α∂macro␈α∂with␈α∂arguments␈α∂(up␈α∂to␈α∂␈↓∂'30␈↓β␈α∂arguments␈α∂currently␈↓ α?
␈↓ α?␈βε`␈↓β␈↓ α?allowed).␈α∂The␈α∞VERREM␈α∞special-feature␈α∞bit␈α∞must␈α∞be␈α∞on␈α∞at␈α∞the␈α∞time␈α∞this␈α∞command␈α∞is␈↓ α?
␈↓ α?␈βε}␈↓β␈↓ α?scanned.␈α
See␈α
details␈α
of␈α
syntax␈α
below.␈↓ α?
␈↓ ↓H␈βπ≤␈↓β␈↓ ↓H␈↓ α?␈↓¬<ARGNAMES>␈↓β␈α
--␈α
Up␈α
to␈α␈↓∂'30␈↓β␈αalphanumeric␈αstrings␈αseparated␈αby␈αcommas.␈α(Note␈αthat␈αthe␈↓ α?
␈↓ α?␈βπ:␈↓β␈↓ α?characters␈α
surrounding␈α
␈↓¬<ARGNAMES>␈↓β␈α
must␈α
be␈α
parenthesis.)␈↓ α?
␈↓ ↓H␈βπX␈↓β␈↓ ↓H␈↓ α?␈↓¬<BODY>␈↓β␈α
--␈α
An␈α
arbitrary␈α
string␈αof␈αtext␈αto␈αbe␈αcopied␈αverbatum␈αinto␈αthe␈α"body"␈αof␈αthe␈↓ α?
␈↓ α?␈βπv␈↓β␈↓ α?macro.␈αThis␈αtext␈αwill␈αbe␈αspliced␈αinto␈αthe␈αinput␈αstream␈αlater␈αwhen␈αthe␈αmacro␈αis␈αcalled␈↓ α?
␈↓ α?␈βλ∩␈↓β␈↓ α?(see␈α_the␈α_␈↓1␈↓β␈↓∂!␈↓β...␈α_command),␈α_just␈α_like␈α_macros␈α↔without␈α↔arguments.␈α↔The␈α↔following␈↓ α?
␈↓ α?␈βλ2␈↓β␈↓ α?exceptions␈α
to␈α
the␈α
"verbatum"␈α
copying␈α
exist:␈↓ α?
␈↓ ↓H␈βλP␈↓β␈↓ ↓H␈↓ α?␈↓¬<OPEN>␈↓β␈α∞and␈α∞␈↓¬<CLOSE>␈↓β␈α∞must␈α∞be␈α∞properly-nested␈α
if␈α
they␈α
appear␈α
at␈α
all␈α
inside␈α
the␈α
body.␈↓ α?
␈↓ α?␈βλn␈↓β␈↓ α?POX␈α∞counts␈α∞how␈α∞many␈α∞levels␈α∞deep␈α
you␈α
are,␈α
and␈α
only␈α
terminates␈α
parsing␈α
when␈α
the␈↓ α?
␈↓ α?␈β	␈↓β␈↓ α?depth␈α
reaches␈α
zero,␈α
i.e.␈αwhen␈αthe␈α␈↓¬<CLOSE>␈↓β␈αappears␈αthat␈αmatches␈αthe␈αoriginal␈α␈↓¬<OPEN>␈↓β.␈↓ α?
␈↓ α?␈β	*␈↓β␈↓ α?Of␈αcourse,␈αif␈αyou␈αuse␈αa␈αquoting␈αpair␈αto␈αdelimit␈αthe␈αbody,␈αthe␈αquoting␈αcharacters␈αmay␈↓ α?
␈↓ α?␈β	H␈↓β␈↓ α?not␈α
appear␈α
at␈α
all␈α
in␈α
the␈α
body.␈↓ α?
␈↓ ↓H␈β	d␈↓β␈↓ ↓H␈↓ α?␈↓1␈↓β␈α⊂(i.e.␈α⊂whatever␈α⊂your␈α⊂brick␈α⊂character␈α⊂is␈α⊂at␈α⊂the␈α⊂time␈α∂you␈α∂define␈α∂the␈α∂macro)␈α∂gets␈↓ α?
␈↓ α?␈β
∧␈↓β␈↓ α?converted␈α
into␈α
a␈α
␈↓¬<BRICK>␈↓β␈α
token␈αif␈αthe␈αVERESC␈αspecial-feature␈αbit␈αis␈αon,␈αotherwise␈αit␈↓ α?
␈↓ α?␈β
"␈↓β␈↓ α?gets␈αcopied␈αverbatum␈αtoo.␈αWhen␈αthe␈α␈↓¬<BRICK>␈↓β␈αtoken␈αis␈αseen␈αlater␈αwhen␈αexpanding␈αthe␈↓ α?
␈↓ α?␈β
>␈↓β␈↓ α?macro,␈αit␈αgets␈αconverted␈αto␈αthe␈α␈↓1␈↓β␈α
character,␈α
which␈α
will␈α
be␈α
a␈α
different␈α
character␈α
from␈↓ α?
␈↓ α?␈β
\␈↓β␈↓ α?the␈α⊃original␈α⊃if␈α⊂you␈α⊂have␈α⊂used␈α⊂the␈α⊂␈↓1␈↓β␈↓∂|␈↓β␈↓¬<ch>␈↓β␈α⊂to␈α⊂redefine␈α⊂the␈α⊂brick␈α⊂character␈α⊂in␈α⊂the␈↓ α?
␈↓ α?␈β
|␈↓β␈↓ α?meantime.␈α⊂(Without␈α⊂the␈α∂VERESC␈α∂feature,␈α∂it␈α∂would␈α∂be␈α∂the␈α∂same␈α∂ASCII␈α∂character␈α∂as␈↓ α?
␈↓ α?␈β~␈↓β␈↓ α?before,␈α
even␈α
if␈α
it␈α
was␈α
no␈α
longer␈α
the␈α
brick␈α
character.␈↓ α?
␈↓ ↓H␈β8␈↓β␈↓ ↓H␈↓∂␈↓ α?⊗$⊗␈↓β␈α∂gets␈α∂converted␈α∂into␈α∞the␈α∞␈↓¬<BRICK>␈↓β␈α∞token␈α∞regardless␈α∞of␈α∞the␈α∞state␈α∞of␈α∞the␈α∞VERESC␈↓ α?
␈↓ α?␈βV␈↓β␈↓ α?flag.␈↓ α?
␈↓ ↓H␈βt␈↓β␈↓ ↓H␈↓∂␈↓ α?⊗⊗␈↓β␈α
gets␈α
converted␈α
into␈α
a␈α
␈↓&single␈↓)αβ␈α
␈↓∂⊗␈↓β␈α
character.␈↓ α?
␈↓ ↓H␈β∩␈↓β␈↓ ↓H␈↓∂␈↓ α?⊗␈↓¬<ARGNAME>␈↓∂⊗␈↓β␈α∩(one␈α∩of␈α∩the␈α∩argument-names␈α∩you␈α∩specified␈α∩in␈α∩the␈α∩␈↓¬<ARGNAMES>␈↓β)␈α∩gets␈↓ α?
␈↓ α?␈β0␈↓β␈↓ α?converted␈α∂into␈α∂the␈α∂appropriate␈α∂␈↓¬<ARGn>␈↓β␈α∂token.␈α∂Later␈α∞when␈α∞the␈α∞macro␈α∞is␈α∞called,␈α∞this␈↓ α?
␈↓ α?␈βA␈↓β␈↓ α?token␈α
is␈α
replaced␈α
by␈α
the␈α
n␈↓#
th␈↓#␈α
actual-argument␈α
string.␈↓ α?
␈↓ ↓H␈βd␈↓β␈↓ ↓H␈↓∂␈↓ α?⊗@␈↓εq␈↓∂⊗␈↓β␈α∩(not␈α∩supported,␈α∩and␈α⊃likely␈α⊃to␈α⊃be␈α⊃purged␈α⊃or␈α⊃differently-implemented␈α⊃soon)␈↓ α?
␈↓ α?␈β
␈↓β␈↓ α?performs␈αthe␈αregister-argument␈αlookup␈α
and␈α
uses␈α
the␈α
value␈α
thus␈α
obtained␈α
(must␈α
be␈α
in␈↓ α?
␈↓ α?␈β
(␈↓β␈↓ α?the␈α
range␈α
␈↓∂0␈↓β␈α
to␈α
␈↓∂'30␈↓β)␈α
to␈α
generate␈α
the␈α
corresponding␈α
␈↓¬<ARGn>␈↓β␈α
token.␈↓ α?
␈↓ ↓H␈β
F␈↓β␈↓ ↓H␈↓∂␈↓ α?⊗␈↓β...␈↓∂⊗␈↓β␈α∀--␈α∀anything␈α∀else␈α∀after␈α∀a␈α∀␈↓∂⊗␈↓β␈α∀character␈α∪is␈α∪illegal.␈α∪An␈α∪error␈α∪will␈α∪usually␈α∪be␈↓ α?
␈↓ α?␈β
d␈↓β␈↓ α?generated␈α
before␈α
the␈α
second␈α
␈↓∂⊗␈↓β␈α
is␈α
seen␈α
(if␈α
there␈α
is␈α
one).␈↓ α?
␈↓ ↓H␈β∞α␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β∞ ␈↓β␈↓β␈↓ ∧jCALLING MACROS -- LIKE LISP EXPR'S␈↓ ↓H
␈↓ ↓H␈β∞<␈↓β␈↓1␈↓∂!␈↓¬<NAME><ARGBATCH><ARGBATCH>␈↓β...␈↓¬<ARGBATCH>␈↓∂;␈↓ ↓H
␈↓ ↓H␈β∞\␈↓∂␈↓βwhere each ␈↓¬<ARGBATCH>␈↓β is of the form ␈↓¬<OPEN><ACTUAL ARGS><CLOSE>␈↓ ↓H
␈↓ ↓H␈β∞z␈↓¬␈↓βand each ␈↓¬<ACTUAL ARGS>␈↓β consists of arguments separated by commas, as described below.␈↓ ↓H
␈↓ ↓H␈β∂_␈↓β␈↓ α_␈↓β␈↓ α?(U␈α⊃J␈α⊃CR␈α⊃o␈α⊃A)␈α⊃--␈α⊃Call␈α⊃a␈α⊃macro␈α⊃with␈α⊃arguments.␈α⊃Each␈α⊃␈↓¬<ARGBATCH>␈↓β␈α⊃unit␈α⊂may␈α⊂use␈α⊂a␈↓ α?
␈↓ α?␈β∂6␈↓β␈↓ α?different␈α␈↓¬<OPEN>␈α<CLOSE>␈↓β␈αpair␈α(when␈αthe␈α␈↓¬<OPEN>␈↓β␈αis␈αseen,␈αPOX␈αlooks␈αit␈αup␈αin␈αa␈αtable␈αto␈↓ α?
␈↓ 
c␈↓α 14␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 15␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ α?␈β↓H␈↓β␈↓ α?determine␈αwhich␈α
␈↓¬<CLOSE>␈↓β␈α
to␈α
look␈α
for)␈α
selected␈α
from␈α
the␈α
legal␈α
nesting␈α
or␈α
quoting␈α
pairs.␈↓ α?
␈↓ α?␈β↓f␈↓β␈↓ α?As␈α
many␈α
arguments␈α
as␈α
desired,␈α
separated␈α
by␈α
commas,␈α
may␈α
appear␈α
in␈α
a␈α
single␈α
␈↓¬<ACTUAL␈↓ α?
␈↓ α?␈βα∧␈↓¬␈↓ α?ARGS>␈↓β␈αitem,␈αand␈αas␈αmany␈α␈↓¬<ARGBATCH>␈↓β␈αunits␈αmay␈α
appear␈α
altogether␈α
(as␈α
indicated␈α
by␈α
the␈↓ α?
␈↓ α?␈βα"␈↓β␈↓ α?"..."␈αin␈αthe␈αabove␈αsyntax␈αspecification),␈αproviding␈αthat␈αthe␈αtotal␈αnumber␈αof␈αarguments␈↓ α?
␈↓ α?␈βα@␈↓β␈↓ α?does␈α
not␈α
exceed␈α
␈↓∂'30␈↓β.␈α
The␈α
most␈α
common␈α
way␈α
of␈αdoing␈αit,␈αand␈αthe␈αeasiest,␈αis␈αto␈αuse␈↓ α?
␈↓ α?␈βα↑␈↓β␈↓ α?ordinary␈α
parenthesis,␈α
with␈α
all␈α
arguments␈α
in␈α
a␈α
single␈α
␈↓¬<ARGBATCH>␈↓β␈α
unit,␈α
for␈α
example:␈↓ α?
␈↓ ↓H␈βαz␈↓β␈↓ ↓H␈↓ βU␈↓1␈↓∂!FOO(First argument,Second argument,Third arg);␈↓β␈↓ α?
␈↓ α?␈ββ~␈↓β␈↓ α?However,␈αif␈αany␈αargument␈αcontains␈αor␈αgenerates␈αa␈αcomma,␈αit␈αis␈αnecessary␈αto␈αturn␈αon␈↓ α?
␈↓ α?␈ββ8␈↓β␈↓ α?the␈αVE1LES␈αspecial-feature␈αbit␈α(to␈αprevent␈αcomma␈αfrom␈αdelimiting␈αarguments)␈αand␈αto␈↓ α?
␈↓ α?␈ββV␈↓β␈↓ α?enclose␈α
each␈α
argument␈α
in␈α
a␈α
separate␈α
set␈α
of␈α
nesting␈α
characters,␈α
such␈α
as:␈↓ α?
␈↓ ↓H␈ββr␈↓β␈↓ ↓H␈↓ α⎇␈↓1␈↓∂!LESHACK(First argument with ",")(Second argument)(Third);␈↓ α?
␈↓ ↓H␈β∧∩␈↓∂␈↓β␈↓ α?Also,␈α⊃if␈α⊃parenthesis␈α⊃occur␈α⊂inside␈α⊂arguments,␈α⊂it␈α⊂is␈α⊂usually␈α⊂necessary␈α⊂to␈α⊂use␈α⊂some␈↓ α?
␈↓ α?␈β∧0␈↓β␈↓ α?other␈α
nesting␈α
or␈α
quoting␈α
pair,␈α
for␈α
example:␈↓ α?
␈↓ ↓H␈β∧L␈↓β␈↓ ↓H␈↓ β∃␈↓1␈↓∂!MESS<This contains (, [, ", and { inside an argument>;␈↓ α?
␈↓ ↓H␈β∧l␈↓∂␈↓β␈↓ α?A␈α$detailed␈α$description␈α$of␈α$the␈α$algorithm␈α$that␈α#is␈α#used␈α#to␈α#scan␈α#the␈↓ α?
␈↓ α?␈β¬
␈↓β␈↓ α?macro-with-arguments␈α
syntax,␈α
build␈α
up␈α
arguments,␈α
bind␈α
them␈α
to␈α
the␈α
␈↓¬<ARGn>␈↓β␈α
table␈α
that␈↓ α?
␈↓ α?␈β¬(␈↓β␈↓ α?is␈αpassed␈αto␈αthe␈αmacro-body␈αexpander,␈αand␈αthe␈αalgorithm␈αthe␈αmacro-body␈αexpander␈↓ α?
␈↓ α?␈β¬F␈↓β␈↓ α?uses␈α∂to␈α∂splice␈α∂the␈α∂macro␈α∂body␈α∂and␈α∂the␈α∂arguments␈α∞into␈α∞the␈α∞input␈α∞stream,␈α∞is␈α∞given␈↓ α?
␈↓ α?␈β¬d␈↓β␈↓ α?later.␈αIf␈αyou␈αplan␈αto␈αdo␈αanything␈αcomplicated␈αwith␈αmacros,␈αyou␈αwill␈αneed␈αto␈αread␈αthe␈↓ α?
␈↓ α?␈βεα␈↓β␈↓ α?algorithm-description␈α∩and␈α∩understand␈α⊃it␈α⊃in␈α⊃order␈α⊃to␈α⊃predict␈α⊃what␈α⊃happens␈α⊃when␈↓ α?
␈↓ α?␈βε≡␈↓β␈↓ α?various␈α
special␈α
characters␈α
(␈↓¬<COMMA>␈α
<OPEN>␈α
<CLOSE>␈↓β␈αand␈α␈↓1␈↓β)␈αare␈αgenerated␈αinside␈αthe␈↓ α?
␈↓ α?␈βε>␈↓β␈↓ α?scanning-of-arguments␈αprocess.␈α
Note␈α
that␈α
it␈α
is␈α
not␈α
legal␈α
to␈α
generate␈α
an␈α
ASCII␈α
'177␈α
or␈↓ α?
␈↓ α?␈βε\␈↓β␈↓ α?'0␈αcharacter␈αwhile␈αpreparing␈α
an␈α
argument,␈α
thus␈α
many␈α
commands␈α
(such␈α
as␈α
font-select)␈↓ α?
␈↓ α?␈βεz␈↓β␈↓ α?are␈α∞illegal␈α∞inside␈α∞arguments.␈α∞By␈α∞quoting␈α
the␈α
characters␈α
that␈α
make␈α
up␈α
the␈α
command␈↓ α?
␈↓ α?␈βπ_␈↓β␈↓ α?(see␈α⊃below),␈α⊃however,␈α⊃the␈α⊂evaluation␈α⊂of␈α⊂such␈α⊂commands␈α⊂may␈α⊂be␈α⊂postponed␈α⊂until␈↓ α?
␈↓ α?␈βπ6␈↓β␈↓ α?after␈αthe␈αexpanded␈αmacro␈αhas␈αbeen␈αgenerated␈αand␈αpatched␈αinto␈αthe␈αinput␈αstream,␈αat␈↓ α?
␈↓ α?␈βπR␈↓β␈↓ α?a␈αtime␈αwhen␈αsuch␈αcommands␈αare␈αlegal.␈αBe␈αaware␈αthat␈αother␈αcommands␈αsuch␈αas␈α␈↓1␈↓β␈↓∂A␈↓β...␈↓ α?
␈↓ α?␈βπr␈↓β␈↓ α?have␈α⊃a␈α⊃slightly␈α⊃different␈α⊃effect␈α⊃depending␈α⊃on␈α⊃whether␈α⊃they␈α⊂are␈α⊂evaluated␈α⊂while␈↓ α?
␈↓ α?␈βλ⊂␈↓β␈↓ α?scanning␈αan␈αargument␈αor␈αwhile␈αgenerating␈αoutput␈αtext␈αlater,␈αand␈αthat␈αcommands␈αthat␈↓ α?
␈↓ α?␈βλ.␈↓β␈↓ α?fetch␈αcontents␈αof␈αregisters␈αetc.␈αwill␈αgive␈αdifferent␈αeffects␈αif␈αthat␈αdata␈αchanges␈αafter␈↓ α?
␈↓ α?␈βλL␈↓β␈↓ α?argument-scanning-binding␈α
time.␈↓ α?
␈↓ ↓H␈βλh␈↓β␈↓ ↓H␈↓1␈↓∂?␈↓¬<NAME><OPEN><ACTUAL ARGS><CLOSE><OPEN><A.A.><CLOSE>...␈↓∂;␈↓ ↓H
␈↓ ↓H␈β	λ␈↓∂␈↓ αH␈↓β␈↓ α?(U␈α
J␈α
CR␈α
o␈α
A)␈α
--␈α
Conditionally␈α
call␈α
a␈α
macro␈α
with␈α
arguments.␈αAt␈αthe␈αbeginning␈αof␈αthe␈↓ α?
␈↓ α?␈β	$␈↓β␈↓ α?scan,␈αjust␈αafter␈αthe␈α"␈↓1␈↓β␈↓∂?␈↓β"␈αhas␈αbeen␈αseen,␈αa␈αflag␈αis␈αset␈αaccording␈αto␈αwhether␈αthe␈αac␈α
␈↓&is␈↓)αβ␈↓ α?
␈↓ α?␈β	B␈↓β␈↓ α?positive␈α∞or␈α∞not.␈α∞Then␈α
all␈α
argument␈α
scanning␈α
etc.␈α
is␈α
performed␈α
just␈α
like␈α
in␈α
the␈α
"␈↓1␈↓β␈↓∂!␈↓β"␈↓ α?
␈↓ α?␈β	b␈↓β␈↓ α?command␈α∩(indeed,␈α∩the␈α∩same␈α∩piece␈α∩of␈α∩code␈α∩is␈α∩executed␈α∩in␈α∩POX).␈α∩When␈α∩the␈α⊃final␈↓ α?
␈↓ α?␈β
␈↓β␈↓ α?semicolon␈α∞is␈α∞seen,␈α∞the␈α∞flag␈α∞is␈α∞tested␈α∞to␈α∞determine␈α
whether␈α
the␈α
input-stream␈α
patch␈↓ α?
␈↓ α?␈β
≡␈↓β␈↓ α?will␈α∩be␈α∩done␈α∩(if␈α∩the␈α∩ac␈α∩␈↓&was␈↓)αβ␈α∩positive)␈α∩or␈α∩the␈α∩patch␈α∩not␈α∩done␈α∩and␈α⊃the␈α⊃table␈α⊃of␈↓ α?
␈↓ α?␈β
<␈↓β␈↓ α?arguments␈α
flushed␈α
(if␈α
the␈α
ac␈α
␈↓&was␈↓)αβ␈α
zero␈α
or␈α
negative).␈↓ α?
␈↓ ↓H␈β
Z␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β
x␈↓β␈↓β␈↓ β>DETAILED DESCRIPTION OF ALGORITHM FOR PROCESSING MACROS␈↓ ↓H
␈↓ ↓H␈β∀␈↓β␈↓ α_(1)␈αIf␈αthe␈αcommand␈αwas␈α␈↓1␈↓β␈↓∂?␈↓β␈αthen␈αthe␈αsplice-enabling␈αflag␈αis␈αset␈αaccording␈αto␈αthe␈αcontents␈αof␈αthe␈↓ ↓H
␈↓ ↓H␈β2␈↓β␈↓ ↓Hac,␈αbut␈αif␈αthe␈αcommand␈αis␈α
␈↓1␈↓β␈↓∂!␈↓β␈α
then␈α
the␈α
flag␈α
is␈α
set␈α
to␈α
TRUE␈α
regardless.␈α
Text␈α
is␈α
scanned␈α
until␈α
a␈α
delimiter␈α
is␈↓ ↓H
␈↓ ↓H␈βR␈↓β␈↓ ↓Hseen,␈αand␈αthe␈α␈↓¬<NAME>␈↓β␈αthus␈αscaned␈αis␈α
looked␈α
up␈α
in␈α
the␈α
table␈α
of␈α
existing␈α
macros.␈α
The␈α
body␈α
of␈α
the␈α
macro␈α
is␈↓ ↓H
␈↓ ↓H␈βp␈↓β␈↓ ↓Hsaved␈α∂to␈α∂be␈α∂used␈α∂later,␈α∂and␈α∂an␈α∂empty␈α∂list␈α∂of␈α∂arguments␈α∂is␈α∂set␈α∂up.␈α∂The␈α∂delimiter␈α∂at␈α∞the␈α∞end␈α∞of␈α∞the␈↓ ↓H
␈↓ ↓H␈β∞␈↓β␈↓ ↓H␈↓¬<NAME>␈↓β,␈α
which␈α
should␈α
be␈α
either␈α
a␈α
semicolon␈α
or␈α
an␈α
open-nesting␈α
or␈α
quoting␈α
character,␈α
is␈α
now␈α
tested:␈↓ ↓H
␈↓ ↓H␈β,␈↓β␈↓ α_(2)␈α∞If␈α∞that␈α∞character␈α∞was␈α∞a␈α
semicolon,␈α
then␈α
go␈α
to␈α
(5);␈α
If␈α
it␈α
was␈α
a␈α
legal␈α
open-nesting␈α
or␈α
quoting␈↓ ↓H
␈↓ ↓H␈βJ␈↓β␈↓ ↓Hcharacter,␈αthen␈αlook␈α
up␈α
the␈α
corresponding␈α
close-nesting␈α
or␈α
quoting␈α
character␈α
in␈α
the␈α
nesting␈α
table␈α
inside␈↓ ↓H
␈↓ ↓H␈βh␈↓β␈↓ ↓HPOX␈αand␈αsave␈αit␈αfor␈αlater␈αreference,␈αthen␈αset␈αnesting␈αdepth␈αto␈αzero␈αand␈αenter␈αa␈αscanner␈αin␈α
which␈α
input␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓Hcontinues␈αto␈αbe␈αread␈αand␈αbrick␈αcommands␈αcontinue␈αto␈αbe␈αexecuted␈α
as␈α
they␈α
occur,␈α
but␈α
output␈α
is␈α
fed␈α
into␈↓ ↓H
␈↓ ↓H␈β
$␈↓β␈↓ ↓Han␈α∪argument-body␈α∪that␈α∪is␈α∪being␈α∪constructed.␈α∩Paragraph␈α∩(3)␈α∩describes␈α∩this␈α∩scanning␈α∩process,␈α∩and␈↓ ↓H
␈↓ ↓H␈β
B␈↓β␈↓ ↓Hparagraph␈α
(4)␈α
describes␈α
what␈α
happens␈α
when␈α
brick␈α
commands␈α
are␈α
seen␈α
during␈α
the␈α
scanning.␈↓ ↓H
␈↓ ↓H␈β
`␈↓β␈↓ α_(3)␈α
Read␈α
a␈α
character.␈↓ ↓H
␈↓ ↓H␈β
}␈↓β␈↓ α_If␈αit␈αis␈αthe␈αclose-nesting␈αor␈αquoting␈αcharacter␈αthen␈αwe␈αdecrement␈αnesting␈αdepth,␈αthen␈αdepending␈↓ ↓H
␈↓ ↓H␈β∞≤␈↓β␈↓ ↓Hon␈α
its␈α
resultant␈α
value␈α
do␈α
the␈α
following:␈α
DEPTH<0,␈α
close␈α
off␈α
this␈α
argument-body,␈α
put␈α
it␈α
in␈α
the␈α
table␈α
of␈↓ ↓H
␈↓ ↓H␈β∞:␈↓β␈↓ ↓Harguments,␈α∞read␈α
one␈α
more␈α
character,␈α
and␈α
go␈α
to␈α
(2)␈α
[THIS␈α
IS␈α
THE␈α
ONLY␈α
EXIT␈α
FROM␈α
THIS␈α
(3)␈α
SCANNING␈↓ ↓H
␈↓ ↓H␈β∞X␈↓β␈↓ ↓HLOOP];␈α⊃DEPTH=0,␈α⊃do␈α⊃nothing,␈α⊃continue␈α⊃(3)␈α⊃scanning;␈α⊃DEPTH>0,␈α⊃emit␈α⊃the␈α⊃character␈α⊃(close-nesting␈α⊃or␈↓ ↓H
␈↓ ↓H␈β∞v␈↓β␈↓ ↓Hquoting)␈α
into␈α
the␈α
argument-body␈α
and␈α
continue␈α
(3)␈α
scanning.␈↓ ↓H
␈↓ ↓H␈β∂∀␈↓β␈↓ α_Else␈α∂if␈α∂it␈α∂is␈α∂the␈α∂open-nesting␈α∂character␈α∂then␈α∂(assuming␈α∂VERRHT␈α∂is␈α∂enabled)␈α∂increment␈α∞nesting␈↓ ↓H
␈↓ ↓H␈β∂2␈↓β␈↓ ↓Hdepth,␈α⊂then␈α⊂depending␈α⊂on␈α⊂the␈α⊂result␈α⊂do␈α⊂the␈α⊂following:␈α⊂DEPTH=1,␈α⊂do␈α⊂nothing,␈α∂continue␈α∂(3)␈α∂scanning;␈↓ ↓H
␈↓ 
c␈↓α 15␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 16␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓HDEPTH>1,␈α
emit␈α
the␈α
character␈α
(open-nesting)␈α
into␈α
the␈α
argument-body,␈α
continue␈α
(3)␈α
scanning.␈↓ ↓H
␈↓ ↓H␈β↓d␈↓β␈↓ α_Else␈αif␈αDEPTH>0␈αthen␈αemit␈αthe␈αcharacter␈αinto␈αthe␈αargument-body␈α
(thus␈α
␈↓1␈↓β␈α
and␈α
␈↓¬<COMMA>␈↓β␈α
are␈α
quoted␈↓ ↓H
␈↓ ↓H␈βα∧␈↓β␈↓ ↓Hrather␈α
than␈α
being␈α
acted-upon␈α
as␈α
below)␈α
and␈α
continue␈α
(3)␈α
scanning.␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓ α_Else␈αif␈αthe␈αcharacter␈αis␈αa␈αcomma␈αthen␈αdo␈αthe␈αfollowing:␈αIf␈αVE1LES␈αis␈αon␈αthen␈αemit␈αthe␈αcomma␈αinto␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓Hthe␈α
argument-body␈αand␈αcontinue␈α(3)␈αscaning;␈αelse␈αclose␈αoff␈αthe␈αargument-body␈αand␈αput␈αit␈αin␈αthe␈αtable␈↓ ↓H
␈↓ ↓H␈βα↑␈↓β␈↓ ↓Hof␈α
arguments,␈α
then␈α
open␈α
a␈α
new␈α
argument-body␈α
and␈α
continue␈α
(3)␈α
scanning.␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓ α_Else␈α
if␈α
it␈α
is␈αthe␈αbrick␈αcharacter␈αthen␈αparse␈αthe␈αbrick-command␈αas␈αdescribed␈αin␈α(4),␈αand␈αcontinue␈↓ ↓H
␈↓ ↓H␈ββ~␈↓β␈↓ ↓H(3)␈α
scanning␈α
when␈α
done.␈↓ ↓H
␈↓ ↓H␈ββ8␈↓β␈↓ α_(4)␈α∀Brick-commands␈α∀are␈α∀parsed␈α∀in␈α∪the␈α∪usual␈α∪way,␈α∪except␈α∪that␈α∪certain␈α∪commands␈α∪(such␈α∪as␈↓ ↓H
␈↓ ↓H␈ββV␈↓β␈↓ ↓Hfont-select)␈αare␈αnot␈αimplemented␈αbecause␈αthey␈αemit␈αrubouts␈αwhich␈αare␈αnot␈αpermitted␈α
in␈α
arguments,␈α
and␈↓ ↓H
␈↓ ↓H␈ββt␈↓β␈↓ ↓Ha␈α∩few␈α∩other␈α∩commands␈α∩that␈α∩do␈α∩strange␈α∩things␈α∩are␈α∩also␈α⊃not␈α⊃implemented.␈α⊃When␈α⊃considering␈α⊃brick␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓β␈↓ ↓Hcommands␈α⊂that␈α⊂generate␈α⊂text,␈α⊂it␈α⊂is␈α⊂important␈α⊂to␈α⊂distinguish␈α⊂between␈α⊂those␈α∂commands␈α∂which␈α∂emit␈α∂a␈↓ ↓H
␈↓ ↓H␈β∧.␈↓β␈↓ ↓Hcharacter␈α∞into␈α∞the␈α∞output␈α∞stream␈α∞(the␈α∞argument␈α∞body)␈α∞directly␈α∞(these␈α∞commands␈α∞are␈α
␈↓1␈↓∂"␈↓¬<CH>␈↓β␈α
␈↓11␈↓β␈α
and␈↓ ↓H
␈↓ ↓H␈β∧F␈↓β␈↓ ↓H␈↓1␈↓∂A␈↓εq␈↓β)␈αand␈αthose␈αwhich␈αsplice␈αtext␈αinto␈αthe␈αinput␈αstream␈α(these␈αcommands␈αare␈α␈↓1␈↓∂D␈↓εq␈↓β␈α␈↓1␈↓∂!␈↓β...␈α␈↓1␈↓∂?␈↓β...␈α␈↓1␈↓∂@␈↓β...␈αand␈↓ ↓H
␈↓ ↓H␈β∧j␈↓β␈↓ ↓H␈↓1␈↓∂α␈↓β...).␈αIn␈αthe␈αlatter␈αgroup␈αof␈αcommands,␈αthe␈αspliced␈αtext␈α
will␈α
be␈α
seen␈α
later␈α
by␈α
the␈α
(3)␈α
scanner,␈α
and␈α
if␈α
the␈↓ ↓H
␈↓ ↓H␈β¬
␈↓β␈↓ ↓Hspliced␈α∞text␈α∞contains␈α∞any␈α
of␈α
the␈α
special␈α
characters␈α
mentionned␈α
in␈α
(3),␈α
then␈α
the␈α
corresponding␈α
special␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓ ↓Heffect␈αwill␈αof␈αcourse␈αoccur.␈α(It␈αis␈αgenerally␈αa␈αgood␈αidea␈αto␈αavoid␈αthis␈αexcept␈αin␈αthose␈αcases␈αwhen␈αsuch␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ ↓Hcomplicated␈α⊃things␈α⊃are␈α⊃actually␈α⊃needed␈α⊃to␈α⊃achieve␈α⊃a␈α⊃complicated␈α⊃effect,␈α⊃as␈α⊂shown␈α⊂in␈α⊂some␈α⊂of␈α⊂the␈↓ ↓H
␈↓ ↓H␈β¬d␈↓β␈↓ ↓Hadvanced␈α
examples␈α
below.)␈↓ ↓H
␈↓ ↓H␈βε␈↓β␈↓ α_The␈α⊂␈↓1␈↓∂!␈↓β␈α⊂and␈α∂␈↓1␈↓∂?␈↓β␈α∂commands␈α∂are␈α∂especially␈α∂interesting␈α∂when␈α∂they␈α∂not␈α∂only␈α∂are␈α∂executed␈α∂while␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓ ↓Hscanning␈α≤an␈α≤argument␈α≤but␈α≤they␈α≤contain␈α≤arguments␈α≤themselves.␈α≤What␈α≤happens␈α≤is␈α≤that␈α≤all␈↓ ↓H
␈↓ ↓H␈βε>␈↓β␈↓ ↓Hstatus-information␈αabout␈αthis␈αlevel␈αof␈αargument-scaning␈α(inside␈αthe␈αparsing␈αof␈αthe␈αmacro-call␈αcommand␈↓ ↓H
␈↓ ↓H␈βε\␈↓β␈↓ ↓Hthat␈α
began␈α
earlier)␈α
is␈αsaved␈αon␈αthe␈αstack,␈αand␈αthis␈αpiece␈αof␈αcode␈αin␈αPOX␈α(i.e.␈α(1)␈αthru␈α(5)␈αas␈αdescribed␈↓ ↓H
␈↓ ↓H␈βεz␈↓β␈↓ ↓Hhere)␈αis␈αentered␈αrecursively␈αto␈αparse␈αthe␈αnew␈αlevel␈αof␈αmacro-call␈αand␈αarguments␈αto␈αit.␈αThen␈αwhen␈αthat␈↓ ↓H
␈↓ ↓H␈βπ_␈↓β␈↓ ↓Hlevel␈α
of␈α
this␈α
piece␈αof␈αcode␈αreturns,␈αafter␈αsplicing␈αthe␈αinput␈αstream,␈αthat␈αstatus-information␈αis␈αrestored␈↓ ↓H
␈↓ ↓H␈βπ6␈↓β␈↓ ↓Hand␈α∂scanning␈α∂is␈α∂resumed␈α∞at␈α∞this␈α∞level␈α∞as␈α∞if␈α∞nothing␈α∞had␈α∞happened␈α∞(except,␈α∞of␈α∞course,␈α∞that␈α∞since␈α∞the␈↓ ↓H
␈↓ ↓H␈βπT␈↓β␈↓ ↓Hinput␈α
stream␈αhas␈αbeen␈αspliced,␈αthe␈αoutput␈αfrom␈αthat␈αlower-level␈αof␈αmacro-expansion␈αwill␈αnow␈αbe␈αseen␈↓ ↓H
␈↓ ↓H␈βπr␈↓β␈↓ ↓Hby␈α
the␈α
scanner␈α
at␈α
this␈α
level).␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓β␈↓ α_Users␈αof␈αLISP␈α1.6␈αand␈αvariants␈αthereof␈αwill␈αnote,␈αin␈αthe␈αcase␈αwhere␈α
no␈α
parsing␈α
side-effects␈α
occur␈↓ ↓H
␈↓ ↓H␈βλ.␈↓β␈↓ ↓H(i.e.␈α∞when␈α∞␈↓¬<COMMA>␈α∞<OPEN>␈↓β␈α∞and␈α∞␈↓¬<CLOSE>␈↓β␈α∞are␈α∞not␈α∞included␈α∞in␈α∞the␈α∞spliced␈α∞text)␈α∞and␈α∞there␈α∞is␈α
exactly␈α
one␈↓ ↓H
␈↓ ↓H␈βλL␈↓β␈↓ ↓Hmacro␈αcall␈αor␈αone␈αquoted␈αstring␈αof␈αtext␈αin␈αeach␈αargument,␈αthat␈αthe␈αfinal␈αresult␈αof␈αPOX␈αmacro␈αexpansion␈↓ ↓H
␈↓ ↓H␈βλj␈↓β␈↓ ↓His␈α⊂exactly␈α⊂the␈α⊂same␈α⊂as␈α⊂the␈α∂corresponding␈α∂LISP␈α∂s-expression␈α∂EVALuation␈α∂in␈α∂which␈α∂every␈α∂function␈α∂is␈↓ ↓H
␈↓ ↓H␈β	λ␈↓β␈↓ ↓Heither␈α
an␈α
EXPR␈α
or␈α
a␈α
MACRO.␈α
For␈α
example,␈↓ ↓H
␈↓ ↓H␈β	$␈↓β␈↓ ∧O␈↓1␈↓∂!FOO(␈↓1␈↓∂!BAZ(␈↓1␈↓∂!FB;);,␈↓1␈↓∂!GAR(FG););␈↓ ↓H
␈↓ ↓H␈β	D␈↓∂␈↓β␈↓ ↓His␈α∪equivalent␈α∪to␈α∪the␈α∪s-expression␈α∪␈↓∂(FOO␈α∪(BAZ␈α∪(FB))␈α∪(GAR␈α∪(QUOTE␈α∪FG)))␈↓β.␈α∪In␈α∪POX␈α∪there␈α∪is␈α∪the␈↓ ↓H
␈↓ ↓H␈β	b␈↓β␈↓ ↓Hadditional␈α∂facility␈α∂of␈α∂appending␈α∂together␈α∂the␈α∂strings␈α∂that␈α∂are␈α∂generated␈α∂by␈α∞multiple␈α∞macro-calls␈α∞and␈↓ ↓H
␈↓ ↓H␈β
␈↓β␈↓ ↓Hquoted␈α
strings␈α
in␈α
a␈α
single␈α
argument,␈α
for␈α
example:␈↓ ↓H
␈↓ ↓H␈β
≤␈↓β␈↓ ¬+␈↓1␈↓∂!FOO(BAZ␈↓1␈↓∂!GAR(FG););␈↓ ↓H
␈↓ ↓H␈β
<␈↓∂␈↓β␈↓ ↓His␈α
roughly␈α
equivalent␈α
to␈α
␈↓∂(FOO␈α
(APPEND␈α
(QUOTE␈α
BAZ)␈α
(GAR␈α
(QUOTE␈α
FG))))␈↓β␈α
or␈α
something␈α
like␈α
that.␈↓ ↓H
␈↓ ↓H␈β
Z␈↓β␈↓ α_(5)␈α[The␈αonly␈αway␈αto␈αreach␈αthis␈αpiece␈αof␈αcode␈αis␈αto␈αjump␈αhere␈αfrom␈α(2)␈αafter␈αseeing␈αa␈αsemicolon␈↓ ↓H
␈↓ ↓H␈β
x␈↓β␈↓ ↓Hthere.]␈αIf␈αthe␈αsplice-enabling␈αflag␈αwas␈αnot␈αset␈αabove,␈α
then␈α
all␈α
the␈α
arguments␈α
scanned␈α
in␈α
(3)␈α
etc.,␈α
and␈α
the␈↓ ↓H
␈↓ ↓H␈β⊗␈↓β␈↓ ↓Hmacro␈αbody␈α
saved␈α
in␈α
(1),␈α
are␈α
now␈α
flushed␈α
(the␈α
only␈α
purpose␈α
of␈α
all␈α
this␈α
scanning␈α
was␈α
to␈α
make␈α
the␈α
syntax␈↓ ↓H
␈↓ ↓H␈β4␈↓β␈↓ ↓Hcome␈αout␈αright␈αat␈αthis␈αlevel,␈αalthough␈αany␈αside-effects␈α(such␈αas␈αstoring␈αa␈αvalue␈αin␈α
a␈α
register␈α
or␈α
defining␈↓ ↓H
␈↓ ↓H␈βR␈↓β␈↓ ↓Ha␈α∃macro␈α∃or␈α∃overlay)␈α∃during␈α∃scanning␈α∃arguments␈α∃will␈α∃of␈α∃course␈α∃remain␈α∃done);␈α∃If,␈α∃however,␈α∀the␈↓ ↓H
␈↓ ↓H␈βp␈↓β␈↓ ↓Hsplice-enabling␈αflag␈α␈↓&was␈↓)αβ␈αset,␈αthen␈αthe␈αcurrent␈αinput␈αstream␈αis␈αnow␈αIOPUSHed␈αso␈αthat␈αit␈αcan␈αbe␈αresumed␈↓ ↓H
␈↓ ↓H␈β∞␈↓β␈↓ ↓Hlater␈α∩when␈α∩the␈α⊃expanded␈α⊃macro␈α⊃we␈α⊃are␈α⊃generating␈α⊃has␈α⊃become␈α⊃exhausted,␈α⊃and␈α⊃the␈α⊃input␈α⊃is␈α⊃now␈↓ ↓H
␈↓ ↓H␈β,␈↓β␈↓ ↓Hswitched␈αto␈αthe␈αmacro␈αbody␈αwe␈αlooked␈αup␈αand␈αset␈αaside␈αin␈α(1)␈αabove,␈αwith␈αthe␈αlist␈αof␈αargument-bodies␈↓ ↓H
␈↓ ↓H␈βJ␈↓β␈↓ ↓Hstanding␈α
by␈α
to␈α
be␈αreferenced␈αwhenever␈αan␈α␈↓¬<ARGn>␈↓β␈αtoken␈αappears␈αin␈αthe␈αmacro␈αbody.␈αIn␈αany␈αcase,␈αthis␈↓ ↓H
␈↓ ↓H␈βh␈↓β␈↓ ↓Hlong-winded␈α∞piece␈α∞of␈α∞code␈α∞for␈α∞scanning␈α∞macro-calls␈α∞now␈α∞returns␈α
control␈α
to␈α
whoever␈α
called␈α
it␈α
at␈α
this␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓Hlevel.␈α⊃(The␈α⊃equivalent␈α⊃thing␈α⊃in␈α⊃LISP␈α⊃1.6␈α⊃evaluation␈α⊃of␈α⊃s-expressions␈α⊃is␈α⊃that␈α⊃the␈α⊃call␈α⊂to␈α⊂an␈α⊂MACRO␈↓ ↓H
␈↓ ↓H␈β
$␈↓β␈↓ ↓Hgenerates␈αan␈αexpression␈αwhich␈αis␈αthen␈αre-evaluated␈αby␈αthe␈αimplicit␈αEVAL␈αthat␈αcalled␈αit␈αwhile␈α
evaluating␈↓ ↓H
␈↓ ↓H␈β
B␈↓β␈↓ ↓Harguments␈αto␈αa␈αhigher␈αEXPR␈αor␈αMACRO␈α--␈αyou␈αmay␈αalso␈αcompare␈αPOX␈αmacros␈αto␈αEXPR's,␈αwhich␈α
produce␈↓ ↓H
␈↓ ↓H␈β
`␈↓β␈↓ ↓Hthe␈αsame␈αeffect␈αas␈αMACROs,␈αalthough␈αby␈αa␈αdifferent␈αmechanism␈α--␈αof␈αcourse,␈αthis␈αparallel␈αbreaks␈αdown␈↓ ↓H
␈↓ ↓H␈β
}␈↓β␈↓ ↓Hif␈α∀commas␈α∀or␈α∀unmatched␈α∀nesting␈α∀characters␈α∀are␈α∀returned,␈α∪in␈α∪which␈α∪case␈α∪rather␈α∪bizarre␈α∪parsing␈↓ ↓H
␈↓ ↓H␈β∞≤␈↓β␈↓ ↓Hside-effects␈α
can␈α
occur␈α
in␈α
POX␈α
--␈α
in␈α
this␈α
respect,␈α
LISP␈α
is␈α
cleaner,␈α
the␈α
only␈α
way␈α
to␈αmake␈αsimilar␈αthings␈↓ ↓H
␈↓ ↓H␈β∞:␈↓β␈↓ ↓Hhappen␈α⊂is␈α⊂to␈α⊂explicitly␈α⊂mung␈α⊂the␈α⊂stack.)␈α⊂See␈α⊂(6)␈α∂for␈α∂what␈α∂actually␈α∂happens␈α∂now␈α∂when␈α∂higher-level␈↓ ↓H
␈↓ ↓H␈β∞X␈↓β␈↓ ↓Hroutines␈αattempt␈αto␈αinput␈αcharacters␈αfrom␈αthe␈αmacro-body␈αwith␈αargument-list␈αthat␈αnow␈αconstitutes␈αthe␈↓ ↓H
␈↓ ↓H␈β∞v␈↓β␈↓ ↓Hinput␈α
stream.␈↓ ↓H
␈↓ ↓H␈β∂∀␈↓β␈↓ ↓H
␈↓ ↓H␈β∂2␈↓β␈↓β␈↓ αHDESCRIPTION OF ALGORITHM FOR READING TEXT FROM A COMPOSITE INPUT STREAM␈↓ ↓H
␈↓ 
c␈↓α 16␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 17␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ α_(6)␈αWhen␈αany␈αroutine␈αrequests␈α
to␈α
input␈α
a␈α
character,␈α
the␈α
character␈α
comes␈α
from␈α
either␈α
an␈α
input␈α
file␈↓ ↓H
␈↓ ↓H␈β↓f␈↓β␈↓ ↓Hor␈αa␈αmacro-body␈αor␈αan␈αargument-body␈α(which␈αis␈αtreated␈αexactly␈αlike␈αa␈αmacro-body␈αexcept␈αthat␈αthe␈αlist␈↓ ↓H
␈↓ ↓H␈βα∧␈↓β␈↓ ↓Hof␈αarguments␈αis␈αalways␈αnull␈αin␈αthis␈αcase,␈αi.e.␈αarguments␈αcannot␈αthemselves␈αhave␈αarguments).␈αWhen␈αany␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓ ↓Hfile␈α
or␈α
macro-body␈α
is␈α
exhausted,␈α
an␈α
IOPOP␈α
occurs,␈α
so␈α
that␈α
input␈α
continues␈αfrom␈αthe␈αnext-higher␈αinput␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓Hstream␈α⊂that␈α∂was␈α∂suspended␈α∂earlier.␈α∂(When␈α∂the␈α∂top-level␈α∂file␈α∂is␈α∂exhausted,␈α∂an␈α∂END-OF-FILE␈α∂signal␈α∂is␈↓ ↓H
␈↓ ↓H␈βα↑␈↓β␈↓ ↓Hpassed␈α∞up␈α
and␈α
causes␈α
POX␈α
to␈α
close␈α
out␈α
processing␈α
and␈α
exit.)␈α
Finally,␈α
if␈α
a␈α
special␈α
token␈α
is␈α
seen␈α
while␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓ ↓Hreading␈αfrom␈αa␈αmacro-body,␈αthe␈αfollowing␈αactions␈α
are␈α
automatically␈α
taken:␈α
The␈α
␈↓¬<BRICK>␈↓β␈α
token␈α
is␈α
replaced␈↓ ↓H
␈↓ ↓H␈ββ_␈↓β␈↓ ↓Hby␈αthe␈αcurrent␈α␈↓1␈↓β␈αcharacter;␈αThe␈α␈↓¬<ARGn>␈↓β␈αtoken␈α(if␈αthe␈αtable␈αof␈αarguments␈αcontains␈αat␈αleast␈αn␈αarguments)␈↓ ↓H
␈↓ ↓H␈ββ8␈↓β␈↓ ↓Hcauses␈α⊂an␈α⊂IOPUSH␈α⊂of␈α∂the␈α∂macro-body␈α∂(with␈α∂associated␈α∂table␈α∂of␈α∂arguments),␈α∂and␈α∂causes␈α∂input␈α∂to␈α∂be␈↓ ↓H
␈↓ ↓H␈ββI␈↓β␈↓ ↓Hswitched␈α∞to␈α∞that␈α∞n␈↓#
th␈↓#␈α∞argument-body,␈α∞which␈α∞will␈α
now␈α
be␈α
used␈α
until␈α
it␈α
is␈α
exhausted,␈α
at␈α
which␈α
time␈α
the␈↓ ↓H
␈↓ ↓H␈ββt␈↓β␈↓ ↓Horiginal␈α
macro-body␈α
will␈α
resume.␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓β␈↓ ↓H
␈↓ ↓H␈β∧,␈↓β␈↓␈↓ ∧UExamples of macros with arguments␈↓ ↓H
␈↓ ↓H␈β∧N␈↓␈↓β␈↓ ↓HHere's␈α
the␈α
␈↓∂sbp␈↓β␈α
macro␈α
definition␈α
referred-to␈α
earlier,␈α
and␈α
also␈α
used␈α
later␈αto␈αdemonstrate␈αthe␈αargument␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓ ↓Hbinding-evaluation␈α
process:␈↓ ↓H
␈↓ ↓H␈β¬λ␈↓β␈↓∂␈↓ αH␈↓1␈↓∂8sbp(main,sub,sup)[␈↓1␈↓∂F1␈↓1␈↓∂⊗⊗⊗main⊗␈↓1␈↓∂←.␈↓1␈↓∂→0␈↓1␈↓∂↑=15;␈↓1␈↓∂F2⊗sup⊗␈↓1␈↓∂←.␈↓1␈↓∂→1␈↓1␈↓∂N␈↓ ↓H
␈↓ ↓H␈β¬&␈↓∂␈↓ αH␈↓1␈↓∂←0␈↓1␈↓∂→.␈↓1␈↓∂↓=12;⊗sub⊗␈↓1␈↓∂←.␈↓1␈↓∂~1␈↓1␈↓∂→.␈↓1␈↓∂⊗⊗␈↓1␈↓∂F1]␈↓ ↓H
␈↓ ↓H␈β¬F␈↓∂␈↓ ↓H
␈↓ ↓H␈β¬d␈↓∂␈↓β␈↓ ↓HHere's␈α∂a␈α∞macro␈α∞that␈α∞combines␈α∞two␈α∞overlays␈α∞into␈α∞a␈α∞fraction␈α∞that␈α∞is␈α∞a␈α∞third␈α∞overlay,␈α∞and␈α∞which␈α∞works␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ ↓Hregardless␈α
of␈α
which␈α
overlay␈α
is␈α
wider:␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓∂\; *** GIVEN NUM,DEN, RESULT = FRACTION WITH NUM CENTERED OVER DEN AND BAR 3 BITS THICK␈↓ ↓H
␈↓ ↓H␈βε>␈↓∂\8FRAC(NUM,DEN,RESULT)[\N warning -- registers N,D,B,x,X,y,Y clobbered below...␈↓ ↓H
␈↓ ↓H␈βε\␈↓∂\1⊗NUM⊗;\→N\2⊗NUM⊗;\+N\→N\N compute total size of numerator␈↓ ↓H
␈↓ ↓H␈βεz␈↓∂\1⊗DEN⊗;\→D\2⊗DEN⊗;\+D\→D\N compute total size of denominator␈↓ ↓H
␈↓ ↓H␈βπ_␈↓∂\←N\~D\→B\N                 compute biggest of two sizes␈↓ ↓H
␈↓ ↓H␈βπ6␈↓∂\←B\-N\/=2;\→x\1⊗NUM⊗;\+x\→x\N compute offset needed for numerator to be centered␈↓ ↓H
␈↓ ↓H␈βπT␈↓∂\←B\-D\/=2;\→X\1⊗DEN⊗;\+X\→X\N compute offset needed for denominator to be centered␈↓ ↓H
␈↓ ↓H␈βπr␈↓∂\4⊗NUM⊗;\+=3;\¬=0;\→y\N compute vertical offset to put numerator above frac. bar␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓∂\3⊗DEN⊗;\+=3;\→Y\N compute vertical offset to put denominator below fraction bar␈↓ ↓H
␈↓ ↓H␈βλ.␈↓∂\oBAR⊂V=0;=0;B=0;=3;⊃\N create a bar of the appropriate horizonal extant␈↓ ↓H
␈↓ ↓H␈βλL␈↓∂\&⊗RESULT⊗←BAR,=0;=-1;&⊗NUM⊗,xy&⊗DEN⊗,XY;\N combine the three overlays into one␈↓ ↓H
␈↓ ↓H␈βλj␈↓∂]\; note that this macro should not be called if the above registers contain data␈↓ ↓H
␈↓ ↓H␈β	λ␈↓∂\; (it might be desirable to use the push and pop commands to save and restore␈↓ ↓H
␈↓ ↓H␈β	&␈↓∂\; the above-mentionned registers, inside the macro body would be best)␈↓ ↓H
␈↓ ↓H␈β	D␈↓∂\oFOO[1X\∩2\⊗-Y\∩2\⊗]\oBAZ[1X-Y]\!FRAC(FOO,BAZ,RES);\ORES;\; typical call to the macro␈↓ ↓H
␈↓ ↓H␈β	b␈↓∂\; Note that "\" must be the escape character at the time FRAC is called or else␈↓ ↓H
␈↓ ↓H␈β
␈↓∂\; the "\"'s in the body will generate text rather than escape-to-command.␈↓ ↓H
␈↓ ↓H␈β
≡␈↓∂\; This can be remedied by changing each "\" in the body to "⊗\⊗" or by turning␈↓ ↓H
␈↓ ↓H␈β
<␈↓∂\; on the VERESC bit before defining FRAC.␈↓ ↓H
␈↓ ↓H␈β
Z␈↓∂␈↓ ↓H
␈↓ ↓H␈β
t␈↓∂␈↓␈↓ ∧)Detailed examples of argument evaluation␈↓ ↓H
␈↓ ↓H␈β⊗␈↓␈↓↓␈↓π␈↓∧␈↓¬␈↓α␈↓	␈↓∞␈↓␈↓∂␈↓␈↓∧␈↓ α.(The macros called from here, and the fonts used here, are defined in 75224.LMD[1,REM].)␈↓ ↓H
␈↓ ↓H␈β4␈↓∧␈↓∂\!sbp(X,i-1,n);␈↓ βH␈↓ ∧H\;Nothing special here, matching nesting characters, commas␈↓ ↓H
␈↓ ↓H␈βP␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#si-1␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
n␈↓ ↓t␈↓∧␈↓#
␈↓#␈↓ α_␈↓ αh␈↓ ↓H
␈↓ ↓H␈βα␈↓∧␈↓ ↓H
␈↓ ↓H␈β ␈↓∧␈↓∂\!sbp(X)(i-1)(n);␈↓ ∧H\;One of several other ways to do the same thing␈↓ ↓H
␈↓ ↓H␈β<␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#si-1␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
n␈↓ ↓t␈↓∧␈↓#
␈↓#␈↓ α_␈↓ ↓H
␈↓ ↓H␈βn␈↓∧␈↓ ↓H
␈↓ ↓H␈β
␈↓∧␈↓∧␈↓ α*(You must do ␈↓1␈↓∧␈↓∂⊂'400;␈↓∧ or equivalent before the syntax of nesting (below) will be allowed.)␈↓ ↓H
␈↓ ↓H␈β
+␈↓∧␈↓∂\!sbp(X,(\f9i)-1,(\f9n));␈↓ ¬H\;Inside multiple-nested, everything is quoted␈↓ ↓H
␈↓ ↓H␈β
I␈↓∂\; Thus evaluation of \f9i doesn't occur while binding, but later␈↓ ↓H
␈↓ ↓H␈β
e␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#s␈↓	␈↓#si␈↓¬␈↓#s-1␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
␈↓	␈↓#
n␈↓¬␈↓#
␈↓ ↓x␈↓∧␈↓#
␈↓#␈↓ α_␈↓ ↓H
␈↓ ↓H␈β∞"␈↓∧␈↓∂\; \!sbp(X,\f9i-1,\f9n); would not have worked, see POINT 7␈↓ ↓H
␈↓ ↓H␈β∞@␈↓∂␈↓ ↓H
␈↓ ↓H␈β∞↑␈↓∂␈↓∂\!sbp(X,(i,j+1),n);␈↓ ∧H\;Even commas are quoted rather than breaking to next arg␈↓ ↓H
␈↓ ↓H␈β∞z␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#si,j+1␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
n␈↓ ↓␈␈↓∧␈↓#
␈↓#␈↓ α_␈↓ ↓H
␈↓ ↓H␈β∂,␈↓∧␈↓ ↓H
␈↓ 
c␈↓α 17␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ α≡␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
e␈β↓ε␈↓¬ 18
␈↓ ↓H␈β↓H␈↓∧␈↓∂\!sbp[X,i,(n)];␈↓ βH␈↓ ∧H\;Nesting only applies to the particular nesting pair in use␈↓ ↓H
␈↓ ↓H␈β↓d␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#si␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
(n)␈↓ ↓s␈↓∧␈↓#
␈↓#␈↓ α_␈↓ αh␈↓ ↓H
␈↓ ↓H␈βα⊗␈↓∧␈↓ ↓H
␈↓ ↓H␈βα4␈↓∧␈↓∂\!sbp(X,i,((n)));␈↓ ∧H\;Only the pair at comma-level are snarfed␈↓ ↓H
␈↓ ↓H␈βαP␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#si␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
(n)␈↓ ↓s␈↓∧␈↓#
␈↓#␈↓ α_␈↓ ↓H
␈↓ ↓H␈ββα␈↓∧␈↓ ↓H
␈↓ ↓H␈ββ ␈↓∧␈↓∂\!sig;\!sbp(,i=1,n);␈↓ ∧H\;Null args are just as good as any others␈↓ ↓H
␈↓ ↓H␈ββ<␈↓∂␈↓∧␈↓#␈↓#s␈↓∞␈↓#sS␈↓∧␈↓#s␈↓#␈↓∧␈↓#s␈↓¬␈↓#si=1␈↓ ↓l␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
n␈↓ αλ␈↓∧␈↓#
␈↓#␈↓ α_␈↓ ↓H
␈↓ ↓H␈ββy␈↓∧␈↓ ↓H
␈↓ ↓H␈β∧↔␈↓∧␈↓∂\!sbp(NESTING CHARACTERS:,⊗⊗//↓↓∂∂||""∧∧∨∨∪∪∩∩↑↑!!$%%)|() [] {} <> ≤≥ ⊂⊃ →←|;\;␈↓ ↓H
␈↓ ↓H␈β∧5␈↓∂\;Sometimes you want to pick a nesting character you aren't using in the body␈↓ ↓H
␈↓ ↓H␈β∧Q␈↓∂␈↓∧␈↓#NESTING CHARACTERS:␈↓∧␈↓#s␈↓¬␈↓#s⊗⊗//↓↓∂∂||""∧∧∨∨∪∪∩∩↑↑!!$$%%␈↓ βk␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
() [] {} <> ≤≥ ⊂⊃ →←␈↓ ε↔␈↓∧␈↓#
␈↓#␈↓ ↓H
␈↓ ↓H␈β¬β␈↓∧␈↓ ↓H
␈↓ ↓H␈β¬!␈↓∧␈↓∂\!sbp[X,f(i,j),n+2];␈↓ ∧H\;Avoid expressions like this, their implementation may change␈↓ ↓H
␈↓ ↓H␈β¬=␈↓∂␈↓∧␈↓#X␈↓∧␈↓#s␈↓¬␈↓#sf(i␈↓ ↓X␈↓∧␈↓#s␈↓#
␈↓¬␈↓#
j)␈↓ ↓n␈↓∧␈↓#
␈↓#␈↓ α_␈↓ ↓H
␈↓ ↓H␈β¬o␈↓∧␈↓∂␈↓ ↓H
␈↓ ↓H␈βε
␈↓∂\; -- Define a bunch of month names as if they were elements of an array almost␈↓ ↓H
␈↓ ↓H␈βε+␈↓∂\∞MONTH1⊂January⊃\∞MONTH2⊂February⊃\∞MONTH3⊂March⊃\;␈↓ ↓H
␈↓ ↓H␈βεI␈↓∂\∞MONTH4⊂April⊃\∞MONTH5⊂May⊃\∞MONTH6⊂June⊃\;␈↓ ↓H
␈↓ ↓H␈βεg␈↓∂\∞MONTH7⊂July⊃\∞MONTH8⊂August⊃\∞MONTH9⊂September⊃\;␈↓ ↓H
␈↓ ↓H␈βπ¬␈↓∂\∞MONTH10⊂October⊃\∞MONTH11⊂November⊃\∞MONTH12⊂December⊃\;␈↓ ↓H
␈↓ ↓H␈βπ#␈↓∂␈↓∧␈↓#␈↓ ↓H
␈↓ ↓H␈βπA␈↓∧␈↓∂\8MONTH(NSTR)[\!MONTH⊗NSTR⊗;]\; -- Generates the name of month, takes decimal string␈↓ ↓H
␈↓ ↓H␈βπ←␈↓∂␈↓∧␈↓#␈↓ ↓H
␈↓ ↓H␈βπ⎇␈↓∧␈↓∂\u'400101;\;␈↓ βH␈↓ ∧H␈↓ ¬H␈↓ εHACTTIM UUO = CALLI 400101␈↓ ↓H
␈↓ ↓H␈βλ≠␈↓∂\L=-18;\/=31;\→D\%=12;\+=1;\→M\;␈↓ εHMonth number in register M now.␈↓ ↓H
␈↓ ↓H␈βλ9␈↓∂\!MONTH(\DM);\; ␈↓ ∧H␈↓ ¬H(1) Scan and evaluate and bind argument, resulting␈↓ ↓H
␈↓ ↓H␈βλW␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H␈↓ ¬H  in effectively \!MONTH(4); if this is still April␈↓ ↓H
␈↓ ↓H␈βλu␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H(2) Call macro with argument list to generate a splice␈↓ ↓H
␈↓ ↓H␈β	∪␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H  in the input stream, which reads: \!MONTH4;␈↓ ↓H
␈↓ ↓H␈β	1␈↓∂\;␈↓ αH␈↓ βH(3) Continue reading characters from whatever the input stream is now,␈↓ ↓H
␈↓ ↓H␈β	O␈↓∂\;␈↓ αH␈↓ βH  namely the string \!MONTH4; followed by the rest of the input file.␈↓ ↓H
␈↓ ↓H␈β	m␈↓∂\;␈↓ αH(4) The \!MONTH4; now binds an empty list of args, calls the macro MONTH4,␈↓ ↓H
␈↓ ↓H␈β
␈↓∂\;␈↓ αH  and splices the string April into the input stream, which is then read␈↓ ↓H
␈↓ ↓H␈β
)␈↓∂\;␈↓ αH  and output in the current mode (pass-as-is in this example).␈↓ ↓H
␈↓ ↓H␈β
G␈↓∂␈↓∧␈↓#December␈↓ ↓H
␈↓ ↓H␈β
e␈↓∧␈↓ ↓H
␈↓ ↓H␈ββ␈↓∧␈↓∧␈↓ ↓HLISP␈α
programmers␈α
will␈α
note␈αthat␈αthis␈αis␈αquite␈αsimilar␈αto␈αthe␈αway␈αEXPRs␈αare␈αevaluated␈αin␈αLISP.␈αIn␈αfact,␈αthe␈↓ ↓H
␈↓ ↓H␈β!␈↓∧␈↓ ↓Hfollowing␈αmacro␈αdefinition␈αwill␈αcreate␈αa␈αmacro␈αthat␈αacts␈αlike␈αEVAL␈αin␈αLISP,␈αnamely␈αEVAL(expression)␈αcauses␈↓ ↓H
␈↓ ↓H␈β?␈↓∧␈↓ ↓Hexpression␈α
to␈α
get␈αevaluated␈αtwice,␈αonce␈αwhile␈αevaluating␈αand␈αbinding␈αarguments,␈αand␈αthen␈αagain␈αwhen␈αthe␈↓ ↓H
␈↓ ↓H␈β]␈↓∧␈↓ ↓Hresult␈α∂of␈α∂the␈α∂macro␈α∂expansion␈α∞is␈α∞seen␈α∞in␈α∞the␈α∞input␈α∞stream.␈α∞The␈α∞usefulness␈α∞of␈α∞this␈α∞is␈α∞that␈α∞you␈α∞can␈α∞patch␈↓ ↓H
␈↓ ↓H␈β{␈↓∧␈↓ ↓Htogether␈α∞various␈α∞strings,␈α∞some␈α∞quoted␈α∞(you␈α∞get␈α∞what␈α∞you␈α∞had␈α∞in␈α∞the␈α
input␈α
file)␈α
and␈α
some␈α
resulting␈α
from␈↓ ↓H
␈↓ ↓H␈β_␈↓∧␈↓ ↓Hmacro␈αcalls␈αor␈αcommands␈αlike␈α␈↓1␈↓∧␈↓D␈↓∧,␈αand␈αthen␈αthe␈αresultant␈αstring␈αgets␈αevaluated␈α
as␈α
if␈α
it␈α
had␈α
been␈α
in␈α
your␈α
input␈↓ ↓H
␈↓ ↓H␈β8␈↓∧␈↓ ↓Hfile␈α∞all␈α∞along.␈α∞For␈α∞example,␈α∞the␈α∞above␈α∞effect␈α∞of␈α∞MONTH(NSTR)␈α∞can␈α
be␈α
obtained␈α
by␈α
calling␈α
EVAL␈α
with␈α
the␈↓ ↓H
␈↓ ↓H␈βV␈↓∧␈↓ ↓Happropriately␈α
constructed␈α
argument.␈↓ ↓H
␈↓ ↓H␈βt␈↓∧␈↓∂\8EVAL(expr)[⊗expr⊗]\;␈↓ ∧H␈↓ ¬H␈↓ εHAs described above␈↓ ↓H
␈↓ ↓H␈β
∩␈↓∂\!EVAL[[\!MONTH(]\DM);];\;␈↓ ¬H(1) The following is output to the argument body:␈↓ ↓H
␈↓ ↓H␈β
0␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H␈↓ ¬H  (a) The quoted string \!MONTH␈↓ ↓H
␈↓ ↓H␈β
N␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H␈↓ ¬H  (b) The decimal string value of register M␈↓ ↓H
␈↓ ↓H␈β
l␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H␈↓ ¬H  (c) The close-parenthesis and semicolon␈↓ ↓H
␈↓ ↓H␈β∞
␈↓∂\;␈↓ αH␈↓ βH␈↓ ∧H(2) The string spliced in is \!MONTH(4); if this is still april␈↓ ↓H
␈↓ ↓H␈β∞(␈↓∂\!EVAL[\\!MONTH(\DM);];\; An older way that still works, quote the escape character by \\␈↓ ↓H
␈↓ ↓H␈β∞F␈↓∂\; -- you see it below done both ways on the same line, no difference in effect --␈↓ ↓H
␈↓ ↓H␈β∞d␈↓∂␈↓∧␈↓#DecemberDecember␈↓␈↓␈↓α␈↓β␈↓∧␈↓¬␈↓ε␈↓∂␈↓␈↓ ↓H
␈↓ ↓H␈β∂α␈↓␈↓∂␈↓ ↓H
␈↓ ↓H␈β∂ ␈↓∂\; Evaluate a macro and use the result as a brick command to evaluate:␈↓ ↓H
␈↓ α≡␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
e␈β⊂$␈↓¬ 18
␈↓ 
c␈↓α 19␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓∂\!EVAL(\\\!FOO;);\; Like \\!FOO; parsed right-to-left sort-of␈↓ ↓H
␈↓ ↓H␈β↓f␈↓∂␈↓ ↓H
␈↓ ↓H␈βα∧␈↓∂␈↓∂$8RECURSExFOO(N)[$F3(FOO)$←=⊗N⊗;$-=1;$?RECURSExFOO($D∀);]␈↓ ↓H
␈↓ ↓H␈βα"␈↓∂$; the above macro explicitly calls itself with one less than its argument␈↓ ↓H
␈↓ ↓H␈βα@␈↓∂$!RECURSExFOO{15};$; {} are just as good as () in such places as here␈↓ ↓H
␈↓ ↓H␈βα↑␈↓∂␈↓ ↓H
␈↓ ↓H␈βα|␈↓∂␈↓ ↓H
␈↓ ↓H␈ββ~␈↓∂␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓β(FOO)␈↓ ↓H
␈↓ ↓H␈ββ8␈↓β␈↓ ↓H
␈↓ ↓H␈ββV␈↓β␈↓ ↓H
␈↓ ↓H␈ββt␈↓β␈↓β␈↓ α_Here␈α∞is␈α∞a␈α∞macro␈α∞that␈α∞can␈α∞be␈α∞used␈α∞to␈α∞compile␈α∞page␈α∞numbers␈α∞into␈α∞a␈α
table␈α
of␈α
contents␈α
or␈α
index,␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓β␈↓ ↓Hproviding␈α∪that␈α∪the␈α∪contents␈α∩or␈α∩index␈α∩appears␈α∩in␈α∩the␈α∩output␈α∩file␈α∩after␈α∩all␈α∩referenced␈α∩items␈α∩have␈↓ ↓H
␈↓ ↓H␈β∧0␈↓β␈↓ ↓Hoccurred.␈α∪This␈α∪is␈α∪the␈α∪macro␈α∪used␈α∪in␈α∩the␈α∩POX␈α∩writeup␈α∩to␈α∩make␈α∩the␈α∩contents␈α∩and␈α∩appendix␈α∩page␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓ ↓Hreferences.␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓∂␈↓ αH$8DEFCONT(ITEM)[$!EVAL(($∞CX⊗ITEM⊗{)$←#$¬=10;$?SPACEXY;$D#(}));]$;␈↓ ↓H
␈↓ ↓H␈β¬
␈↓∂␈↓β␈↓ α_The␈αthree␈αtypes␈αof␈αnesting␈αcharacters,␈α␈↓∂[]␈α()␈↓β␈αand␈α␈↓β{}␈↓β,␈αare␈αused␈αto␈αisolate␈αnesting␈αprocessing␈αinto␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓ ↓Hthree␈αlevels␈αin␈αwhich␈αthe␈αother␈αnesting␈αcharcters␈αare␈αpassed␈αas␈αtext.␈αThis␈αmacro␈αassumes␈αthat␈αregister␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ ↓H␈↓∂#␈↓β␈α∪always␈α∪contains␈α∩the␈α∩correct␈α∩page␈α∩number,␈α∩and␈α∩that␈α∩there␈α∩is␈α∩a␈α∩macro␈α∩called␈α∩"SPACEXY"␈α∩which␈↓ ↓H
␈↓ ↓H␈β¬d␈↓β␈↓ ↓Hgenerates␈αan␈αASCII␈α040␈α(space)␈αcharacter␈αto␈αbe␈αused␈αas␈αzero-fill␈αto␈αthe␈αleft␈αof␈αone-digit␈αnumbers,␈αand␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ ↓Hthat␈α∞page␈α∞numbers␈α∞above␈α∞99␈α∞do␈α∞not␈α∞occur.␈α∞Here's␈α
a␈α
detailed␈α
description␈α
of␈α
what␈α
happens␈α
when␈α
this␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓ ↓Hmacro␈α
is␈α
used:␈↓ ↓H
␈↓ ↓H␈βε>␈↓β␈↓ α_␈↓∂$8␈↓β...␈↓β;␈↓β␈αat␈αstart␈αof␈αthe␈αfile␈α--␈αA␈αmacro␈αwith␈αarguments␈αis␈αset␈αup,␈αwith␈αthe␈αname␈α"DEFCONT",␈αand␈αthe␈↓ ↓H
␈↓ ↓H␈βε\␈↓β␈↓ ↓Hbody␈α<BRICK>␈α"!EVAL(("␈α<BRICK>␈α"∞CX"␈α<ARG␈α
1>␈α
{)"␈α
<BRICK>␈α
"←#"␈α
<BRICK>␈α
"¬=10;"␈α
<BRICK>␈α
"?SPACEXY;"␈↓ ↓H
␈↓ ↓H␈βεy␈↓β␈↓ ↓H<BRICK>␈α"D#(}));"␈αwhere␈α<BRICK>␈αdenotes␈αthe␈α␈↓1␈↓β␈αtoken␈α(stored␈αinternally␈αas␈α177,175),␈α<ARG␈α1>␈αdenotes␈↓ ↓H
␈↓ ↓H␈βπ→␈↓β␈↓ ↓Hthe␈αargument-number-1␈αtoken␈α
(stored␈α
internally␈α
as␈α
177,001),␈α
and␈α
other␈α
parts␈α
are␈α
between␈α
quote␈α
marks␈↓ ↓H
␈↓ ↓H␈βπ7␈↓β␈↓ ↓Hhere␈αto␈αavoid␈αambiguity␈αas␈αyou␈αtry␈αto␈αread␈αthis.␈α(This␈αassumes␈αyou␈αhave␈αVERESC␈αturned␈αon.␈αOtherwise␈↓ ↓H
␈↓ ↓H␈βπT␈↓β␈↓ ↓Hyou␈α∞just␈α∞get␈α∞the␈α∞dollar-sign␈α∞character␈α∞in␈α∞the␈α∞macro␈α∞body␈α∞instead␈α
of␈α
the␈α
␈↓1␈↓β␈α
token,␈α
and␈α
what␈α
happens␈↓ ↓H
␈↓ ↓H␈βπt␈↓β␈↓ ↓Hlater␈α
in␈α
this␈α
example␈α
when␈α
"␈↓∂\␈↓β"␈α
is␈α
the␈α
brick␈α
character␈α
won't␈α
work.)␈↓ ↓H
␈↓ ↓H␈βλ∩␈↓β␈↓ α_\DEFCONT(A3);␈αat␈αthe␈αlocation␈αin␈αthe␈αfile␈αdesired␈α("␈↓∂\␈↓β"␈αhappens␈αto␈αbe␈αthe␈αbrick␈α
character␈α
here)␈α
--␈↓ ↓H
␈↓ ↓H␈βλ0␈↓β␈↓ ↓HThe␈α
body␈α
of␈α
the␈αDEFCONT␈αmacro␈αis␈αpatched␈αinto␈αthe␈αinput␈αstream,␈αand␈αin␈αthe␈αprocess␈αof␈αreading␈αit␈αin␈↓ ↓H
␈↓ ↓H␈βλM␈↓β␈↓ ↓Hthe␈α
<BRICK>␈α
and␈α
<ARG␈α1>␈αare␈αreplaced␈αby␈α"␈↓1␈↓β"␈αand␈α"␈↓∂A3␈↓β"␈αrespectively,␈αresulting␈αin␈αthe␈αfollowing␈αstring␈↓ ↓H
␈↓ ↓H␈βλm␈↓β␈↓ ↓Hbeing␈α
effectively␈α
in␈α
the␈α
input␈α
stream:␈α
"␈↓∂\!EVAL((\∞CXA3{)\←#\¬=10;\?SPACEXY;\D#(}));␈↓β".␈↓ ↓H
␈↓ ↓H␈β	␈↓β␈↓ α_The␈α∞"EVAL"␈α∞macro␈α∞is␈α
then␈α
called,␈α
and␈α
in␈α
the␈α
process␈α
of␈α
binding␈α
its␈α
one␈α
argument␈α
the␈α
following␈↓ ↓H
␈↓ ↓H␈β	)␈↓β␈↓ ↓Hhappens:␈α
(1)␈α
The␈α
string␈α
"␈↓∂\∞CXA3{␈↓β"␈α
is␈αpassed␈αas␈α(quoted)␈αtext;␈α(2)␈αRegister␈α␈↓∂#␈↓β␈αis␈αfetched␈αand␈αtested␈αto␈↓ ↓H
␈↓ ↓H␈β	G␈↓β␈↓ ↓Hsee␈α_if␈α_it␈α_is␈α↔less␈α↔than␈α↔ten,␈α↔if␈α↔so␈α↔the␈α↔SPACEXY␈α↔macro␈α↔generates␈α↔a␈α↔space␈α↔character␈α↔(in␈α↔the␈↓ ↓H
␈↓ ↓H␈β	e␈↓β␈↓ ↓Hargument-to-EVAL␈α∞being␈α∞constructed);␈α∞(3)␈α
Register␈α
␈↓∂#␈↓β␈α
is␈α
fetched␈α
again␈α
,␈α
converted␈α
into␈α
decimal␈α
string,␈↓ ↓H
␈↓ ↓H␈β
β␈↓β␈↓ ↓Hand␈αappended␈αto␈αthe␈αargument;␈α(4)␈αThe␈αstring␈α"␈↓∂}␈↓β"␈α(one␈αcharacter)␈α
is␈α
passed␈α
(quoted);␈α
(5)␈α
The␈α
input␈α
text␈↓ ↓H
␈↓ ↓H␈β
!␈↓β␈↓ ↓H"␈↓∂);␈↓β"␈α
terminates␈α
the␈αbinding␈αof␈αthe␈αfirst␈αargument,␈αand␈αterminates␈αall␈αbinding␈αfor␈αthe␈αcall␈αof␈αEVAL,␈αand␈↓ ↓H
␈↓ ↓H␈β
?␈↓β␈↓ ↓Hthe␈α
body␈α
of␈α
EVAL,␈α
which␈α
consists␈α
solely␈α
of␈α
the␈α
<ARG␈α
1>␈α
token,␈α
is␈α
patched␈α
into␈α
the␈α
input␈α
stream.␈↓ ↓H
␈↓ ↓H␈β
]␈↓β␈↓ α_Thus␈αif␈αthis␈αis␈αdone␈αon␈αpage␈α5,␈αthe␈αstring␈α"␈↓∂\∞CXA3{␈α5}␈↓β"␈α(the␈αargument)␈αis␈αnow␈αeffectively␈αin␈αthe␈↓ ↓H
␈↓ ↓H␈β
{␈↓β␈↓ ↓Hinput␈α
stream.␈α
Upon␈α
reading␈α
all␈α
that␈α
(generated)␈α
input,␈α
the␈α
macro␈α
"CXA3"␈α
is␈α
defined,␈α
with␈α
body␈α
"␈↓∂␈α
5␈↓β".␈↓ ↓H
␈↓ ↓H␈β_␈↓β␈↓ α_Later,␈αfor␈αexample␈αin␈α
the␈α
table␈α
of␈α
contents␈α
page,␈α
the␈α
string␈α
␈↓1␈↓β␈↓∂!CXA3;␈↓β␈α
--␈α
will␈α
generate␈α
the␈α
correct␈↓ ↓H
␈↓ ↓H␈β8␈↓β␈↓ ↓Hpage␈α
reference␈α
for␈α
item␈α
A3␈α
in␈α
the␈α
document,␈α
namely␈α
the␈α
string␈α
"␈↓∂␈α
5␈↓β"␈α
in␈α
this␈α
case.␈↓ ↓H
␈↓ ↓H␈βV␈↓β␈↓ ↓H
␈↓ ↓H␈βt␈↓β␈↓β␈↓ αHere is the setup for the EVERYPAGE macro that was used in this writeup (\ is escape char.):␈↓ ↓H
␈↓ ↓H␈β⊃␈↓β␈↓∂\!ACTTIM;\; load a register with system date-time by means of the ␈↓1␈↓∂u command␈↓ ↓H
␈↓ ↓H␈β1␈↓∂\!EVAL((\∞TODAY[)\!DATIME;(]));\;␈↓ ↓H
␈↓ ↓H␈βO␈↓∂\; call DATIME (in DATIME.POX[1,REM]) and hardwire the result into the TODAY macro␈↓ ↓H
␈↓ ↓H␈βm␈↓∂\∞IDENT[POX writeup -- compiled by POX on ]\;␈↓ ↓H
␈↓ ↓H␈β
␈↓∂\oEP1[2\!IDENT;\!TODAY; -- page ]\; hardwire all but the page number into an overlay␈↓ ↓H
␈↓ ↓H␈β
)␈↓∂␈↓β␈↓ βkand here is the actual macro definition ($ is escape char.):␈↓∂␈↓ ↓H
␈↓ ↓H␈β
G␈↓∂$8EVERYPAGE(dummyarg)[$←#$+=1;$→#$oEP2{2 $D#}$&EP←EP1&EP2;$N␈↓ ↓H
␈↓ ↓H␈β
e␈↓∂$QA$1EP;$→A$2EP;$¬A$/=2;$+=850;$→A$N␈↓ ↓H
␈↓ ↓H␈β∞β␈↓∂$WEP,A=150;$WEP,A=2100;$qA]$; generate page number, combine overlays, align␈↓ ↓H
␈↓ ↓H␈β∞!␈↓∂␈↓ ↓H
␈↓ ↓H␈β∞?␈↓∂␈↓β␈↓ α_Note␈αthat␈αsome␈αtricky␈αthings␈αwere␈αdone␈α
in␈α
creating␈α
the␈α
everypage␈α
macro␈α
so␈α
that␈α
the␈α
time-of-day␈↓ ↓H
␈↓ ↓H␈β∞]␈↓β␈↓ ↓Hwouldn't␈αbe␈αrecompiled␈αon␈αeverypage␈α(otherwise␈αif␈αthe␈αsystem␈αwere␈αvery␈αbusy,␈αeach␈αpage␈αmight␈αhave␈↓ ↓H
␈↓ ↓H␈β∞{␈↓β␈↓ ↓Ha␈α∩different␈α∩time-of-compilation.␈α∩In␈α∩general,␈α∩in␈α∩POX␈α∩the␈α∩order␈α∩of␈α∩evaluation␈α∩of␈α∩arguments␈α∩may␈α∩be␈↓ ↓H
␈↓ ↓H␈β∂→␈↓β␈↓ ↓Hcontrolled␈α∩by␈α∩means␈α∩of␈α∩calls␈α∩to␈α∩EVAL␈α∩(to␈α∩cause␈α∩an␈α∩extra␈α∩evaluation␈α⊃to␈α⊃occur)␈α⊃and␈α⊃using␈α⊃nesting␈↓ ↓H
␈↓ ↓H␈β∂7␈↓β␈↓ ↓Hcharacters␈α⊃to␈α⊂quote␈α⊂portions␈α⊂of␈α⊂arguments␈α⊂(to␈α⊂suppress␈α⊂or␈α⊂postpone␈α⊂an␈α⊂evaluation).␈α⊂The␈α⊂following␈↓ ↓H
␈↓ 
c␈↓α 19␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 20␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓Hexample␈α
should␈α
show␈α
you␈α
some␈α
of␈α
the␈α
options␈α
you␈α
can␈α
create␈α
by␈α
use␈α
of␈α
this␈α
technique.␈↓ ↓H
␈↓ ↓H␈β↓f␈↓β␈↓ α_Suppose␈αthat␈αMONTHNUMBER␈αis␈αa␈αmacro␈αthat␈αasks␈αthe␈αsystem␈α
for␈α
the␈α
date␈α
and␈α
time,␈α
and␈α
decodes␈↓ ↓H
␈↓ ↓H␈βα∧␈↓β␈↓ ↓Hthe␈αnumber␈αof␈αmonth␈α(0␈αto␈α11␈αdecimal)␈α
leaving␈α
it␈α
in␈α
register␈α
M.␈α
Suppose␈α
that␈α
MONTH1␈α
is␈α
a␈α
macro␈α
that␈α
is␈↓ ↓H
␈↓ ↓H␈βα"␈↓β␈↓ ↓Hthe␈αASCII␈αname␈αof␈αthe␈αfirst␈αmonth␈α(January)␈αetc.␈αup␈αto␈αMONTH12␈α=␈αDecember.␈αSuppose␈αthat␈αMONTHN(n)␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓His␈αa␈αmacro␈αwith␈αone␈αargument␈αthat␈αconcatinates␈αthe␈αstring␈α"␈↓∂$!MONTH␈↓β"␈α
with␈α
its␈α
argument␈α
(assumed␈α
to␈α
be␈↓ ↓H
␈↓ ↓H␈βα↑␈↓β␈↓ ↓Ha␈α∪decimal␈α∪number␈α∪string)␈α∪and␈α∪with␈α∪a␈α∪semicolon,␈α∪so␈α∪that␈α∪for␈α∪example␈α∪"␈↓∂$!MONTHN(3)␈↓β;"␈α∪will␈α∩patch␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓ ↓H"␈↓∂$!MONTH3;␈↓β"␈αinto␈αthe␈αinput␈α
stream␈α
which␈α
will␈α
then␈α
generate␈α
"␈↓∂March␈↓β".␈α
The␈α
following␈α
commands␈α
will␈α
then␈↓ ↓H
␈↓ ↓H␈ββ~␈↓β␈↓ ↓Hgenerate␈α
the␈α
correct␈α
result,␈α
assuming␈α
this␈α
month␈α
is␈α
neither␈α
January␈α
nor␈α
December:␈↓ ↓H
␈↓ ↓H␈ββ8␈↓β␈↓∂$!MONTHNUMBER;$;␈↓ ↓H
␈↓ ↓H␈ββV␈↓∂This month is $!MONTHN($DM); and next month is $!MONTHN($←M$+=1;$D∀);.␈↓ ↓H
␈↓ ↓H␈ββt␈↓∂Last month was $!MONTHN($←M$-=1;$D∀);.␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓∂␈↓β␈↓ α_Note␈α∞that␈α
if␈α
the␈α
contents␈α
of␈α
register␈α
M␈α
are␈α
changed,␈α
the␈α
result␈α
of␈α
calling␈α
MONTH($DM)␈α
changes␈↓ ↓H
␈↓ ↓H␈β∧0␈↓β␈↓ ↓Haccordingly,␈α
and␈α
if␈α
any␈α
of␈α
the␈α
MONTH1␈α
MONTH2␈α
...␈αMONTH12␈αmacros␈αare␈αchanged␈α(such␈αas␈αto␈αa␈αset␈αof␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓ ↓Habbreviations␈αfor␈αthe␈αmonths)␈αthen␈αthe␈α
result␈α
of␈α
calling␈α
MONTHN␈α
will␈α
change␈α
in␈α
the␈α
particular␈α
cases␈α
that␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓ ↓Hwere␈α∪changed.␈α∩That␈α∩is␈α∩because␈α∩register␈α∩M␈α∩is␈α∩referenced␈α∩and␈α∩macros␈α∩MONTHN($DM)␈α∩and␈α∩MONTH6␈↓ ↓H
␈↓ ↓H␈β¬
␈↓β␈↓ ↓H(assuming␈αthis␈αis␈αstill␈αJune)␈αare␈αcalled␈αevery␈αtime␈α␈↓∂$!MONTH($DM);␈↓β␈αappears␈αin␈αthe␈αinput␈αstream.␈αThus␈αif␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓ ↓HTHISMONTH␈α⊂is␈α⊂defined␈α⊂as␈α⊂the␈α⊂successive␈α∂calling␈α∂of␈α∂MONTHNUMBER␈α∂and␈α∂MONTH($DM)␈α∂then␈α∂everytime␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ ↓HTHISMONTH␈α∂is␈α∂called␈α∂register␈α∂M␈α∞will␈α∞be␈α∞clobbered␈α∞and␈α∞MONTHN($DM)␈α∞and␈α∞MONTH6␈α∞will␈α∞be␈α∞called.␈α∞By␈↓ ↓H
␈↓ ↓H␈β¬d␈↓β␈↓ ↓Happropriate␈α∂control␈α∂of␈α∂evaluation,␈α∂it␈α∂is␈α∂possible␈α∂to␈α∂call␈α∂some␈α∂of␈α∂those␈α∂things␈α∂once␈α∂at␈α∂the␈α∂beginning␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ ↓H(when␈α
THISMONTH␈α
is␈α
defined)␈α
and␈α
hardwire␈α
their␈α
results␈α
into␈α
the␈α
definition␈α
of␈α
THISMONTH:␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓∂$!EVAL(($∞THISMONTH[)$!MONTHNUMBER;$!MONTHN($DM);(]))$;␈↓ ↓H
␈↓ ↓H␈βε>␈↓∂$; "$∞THISMONTH[" is quoted, "$!MONTHNUMBER;" and "$!MONTH;" are called␈↓ ↓H
␈↓ ↓H␈βε\␈↓∂$; resulting in the string "June" if it is still June, "]" is quoted, and␈↓ ↓H
␈↓ ↓H␈βεz␈↓∂$; all these parts are concatinated into one string which is passed to␈↓ ↓H
␈↓ ↓H␈βπ_␈↓∂$; EVAL as its argument "$∞THISMONTH[June]" which is then patched into␈↓ ↓H
␈↓ ↓H␈βπ6␈↓∂$; the input stream, causing THISMONTH to be permanently defined as "June".␈↓ ↓H
␈↓ ↓H␈βπT␈↓∂␈↓ ↓H
␈↓ ↓H␈βπr␈↓∂$!EVAL(($∞THISMONTH[)$!MONTHNUMBER;($!MONTHN{)$DM(};]))$;␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓∂$; "$∞THISMONTH[" is quoted, "$!MONTHNUMBER;" is called resulting in register␈↓ ↓H
␈↓ ↓H␈βλ.␈↓∂$; M getting defined now, "$!MONTHN{" is quoted, the decimal conversion of␈↓ ↓H
␈↓ ↓H␈βλL␈↓∂$; the contents of M we have just computed earlier come next, then "};]"␈↓ ↓H
␈↓ ↓H␈βλj␈↓∂$; is quoted, and all the above is concatinated into␈↓ ↓H
␈↓ ↓H␈β	λ␈↓∂$; "$∞THISMONTH[$!MONTHN{6};]" which causes THISMONTH to be defined so as␈↓ ↓H
␈↓ ↓H␈β	&␈↓∂$; to call MONTHN(6) every time.  Thus register M is freed for other use␈↓ ↓H
␈↓ ↓H␈β	D␈↓∂$; without affecting THISMONTH but redefinition of MONTH6 will cause␈↓ ↓H
␈↓ ↓H␈β	b␈↓∂$; THISMONTH to change accordingly.␈↓ ↓H
␈↓ ↓H␈β
␈↓∂␈↓ ↓H
␈↓ ↓H␈β
≤␈↓∂␈↓␈↓ ∧|ENABLING SPECIAL FEATURES␈↓ ↓H
␈↓ ↓H␈β
>␈↓␈↓β␈↓ α_In␈αthe␈αfollowing␈αthree␈αcommands,␈αthe␈αleft␈αhalf␈αof␈α␈↓εq␈↓β,␈αspecifies␈αa␈αbatch␈αof␈αfeatures,␈αand␈αthe␈αbits␈αin␈↓ ↓H
␈↓ ↓H␈β
f␈↓β␈↓ ↓Hthe␈α
right␈α
half␈α
specify␈α
which␈α
features␈α
in␈α
that␈α
batch␈α
are␈α
affected␈α
(or␈α
in␈α
the␈α
case␈αof␈αthe␈αfirst␈αcommand,␈↓ ↓H
␈↓ ↓H␈β∧␈↓β␈↓ ↓Hwhich␈α∞are␈α∞on,␈α∞since␈α∞all␈α∞are␈α∞affected␈α∞one␈α∞way␈α∞or␈α
the␈α
other␈α
in␈α
this␈α
obsolete␈α
command).␈α
Thus␈α
you␈α
may␈↓ ↓H
␈↓ ↓H␈β"␈↓β␈↓ ↓Hchange␈αas␈αmany␈αfeatures␈αin␈αone␈αbatch␈αat␈αa␈αtime,␈αbut␈αmust␈αuse␈αseparate␈αcommands␈αfor␈αeach␈αbatch.␈αThe␈↓ ↓H
␈↓ ↓H␈β@␈↓β␈↓ ↓Hcommands␈αare␈αgiven␈αfirst,␈αthen␈αthe␈α
descriptions␈α
of␈α
each␈α
feature,␈α
with␈α
the␈α
batch␈α
number␈α
and␈α
bit␈α
position␈↓ ↓H
␈↓ ↓H␈β↑␈↓β␈↓ ↓H(mask)␈α∞that␈α∞correspond␈α
to␈α
it.␈α
All␈α
bits␈α
are␈α
initially␈α
zero,␈α
and␈α
bits␈α
not␈α
mentionned␈α
below␈α
should␈α
be␈α
left␈↓ ↓H
␈↓ ↓H␈β|␈↓β␈↓ ↓Hthat␈α
way␈α
to␈α
allow␈α
for␈α
new␈α
bits␈α
that␈α
will␈α
be␈α
defined␈α
later.␈↓ ↓H
␈↓ ↓H␈β→␈↓β␈↓1␈↓∂`␈↓εq␈↓ αH␈↓β␈↓ ββ(U)␈α--␈αSet␈αspecial␈αfeatures␈αhalfword␈αfrom␈αright␈αhalf␈αof␈α
␈↓εq␈↓β␈α
--␈α
This␈α
command␈↓ ββ
␈↓ ββ␈βA␈↓β␈↓ ββis␈α∞not␈α∞reccommended␈α∞because␈α∞it␈α
clobbers␈α
bits␈α
you␈α
may␈α
have␈α
set␈α
earlier␈↓ ββ
␈↓ ββ␈β←␈↓β␈↓ ββand␈α
forgotten.␈↓ ββ
␈↓ ↓H␈β|␈↓β␈↓ ↓H␈↓1␈↓∂⊂␈↓εq␈↓ αH␈↓β␈↓ ββ(U)␈α--␈αUse␈αright␈αhalf␈αof␈α␈↓εq␈↓β.␈αas␈αa␈αmask␈αfor␈αturning␈αon␈αbits,␈αleaving␈αthe␈αrest␈↓ ββ
␈↓ ββ␈β
$␈↓β␈↓ ββunaffected.␈↓ ββ
␈↓ ↓H␈β
A␈↓β␈↓ ↓H␈↓1␈↓∂⊃␈↓εq␈↓ αH␈↓β␈↓ ββ(U)␈α
--␈α
Use␈α
right␈α
half␈α
of␈α
␈↓εq␈↓β.␈α
as␈α
a␈α
mask␈α
for␈α
turning␈α
off␈α
bits␈α
(a␈α
"1"␈α
in␈α
the␈α
mask␈↓ ββ
␈↓ ββ␈β
i␈↓β␈↓ ββturns␈α∂the␈α∂bit␈α∂off,␈α∂the␈α∂same␈α∞as␈α∞the␈α∞ANDCM␈α∞instruction),␈α∞leaving␈α∞the␈α∞rest␈↓ ββ
␈↓ ββ␈β∞π␈↓β␈↓ ββunaffected.␈↓ ββ
␈↓ ↓H␈β∞%␈↓β␈↓ ↓H␈↓ ↓HBefore␈α⊃you␈α⊃use␈α⊃any␈α⊃of␈α⊃the␈α⊃above␈α⊃commands␈α⊃to␈α⊃change␈α⊃these␈α⊃flags,␈α⊃all␈α⊃the␈α⊃bits␈α⊂listed␈α⊂below␈α⊂are␈↓ ↓H
␈↓ ↓H␈β∞C␈↓β␈↓ ↓Hnot-enabled␈α(zero␈αbit).␈αGenerally␈αit␈αis␈αadvisable␈αto␈αturn␈αthese␈αbits␈αon␈αat␈αthe␈αbeginning␈αand␈αleave␈αthem␈↓ ↓H
␈↓ ↓H␈β∞a␈↓β␈↓ ↓Hon,␈αhowever␈αit␈αis␈αfrequently␈αuseful␈αto␈αtoggle␈αthem␈αon␈αand␈αoff.␈αIf␈αfunny␈αthings␈α
can␈α
happen␈α
with␈α
toggling,␈↓ ↓H
␈↓ ↓H␈β∞␈␈↓β␈↓ ↓HI␈α
will␈α
try␈α
to␈α
warn␈α
you␈α
in␈α
the␈α
description␈α
below␈α
--␈α
please␈α
excuse␈αthe␈αsloppy␈α(unjustified)␈αappearance,␈↓ ↓H
␈↓ ↓H␈β∂≥␈↓β␈↓ ↓Hthe␈α
text␈α
was␈α
copied␈α
from␈α
the␈α
source␈α
program␈α
for␈α
POX␈α
with␈α
very␈α
little␈α
editing.␈αalso,␈αthe␈α"$"␈αcharacter␈↓ ↓H
␈↓ 
c␈↓α 20␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 21␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓Hrather␈α
than␈α
"␈↓1␈↓β"␈α
represents␈α
the␈α
brick␈α
character␈α
below.␈↓ ↓H
␈↓ ↓H␈β↓h␈↓β␈↓ α_I␈α∞reccommend␈α∞that␈α∞all␈α∞newly-created␈α∞POX␈α∞files␈α∞turn␈α∞on␈α∞VERSMT,␈α
VERXX1␈α
and␈α
VE1QES␈α
near␈α
the␈↓ ↓H
␈↓ ↓H␈βαε␈↓β␈↓ ↓Hstart␈αof␈αthe␈αfile.␈αAlso␈αdesirable␈αmost␈αof␈α
the␈α
time␈α
are␈α
VERSIM,␈α
VERREM,␈α
VERRHT,␈α
VERESC␈α
and␈α
VE1OPN.␈α
All␈↓ ↓H
␈↓ ↓H␈βα#␈↓β␈↓ ↓Hof␈αthese␈αcan␈αbe␈αturned␈αon␈αby:␈α␈↓1␈↓∂⊂'0302444;␈↓1␈↓∂⊂'1000003;␈α␈↓βat␈αthe␈αvery␈αbeginning␈αof␈αyour␈αsource␈α
file.␈α
I␈↓ ↓H
␈↓ ↓H␈βαC␈↓β␈↓ ↓Hreccommend␈α
against␈α
using␈α
VER56P,␈α
VERREG␈α
and␈α
VERIDC.␈↓ ↓H
␈↓ ↓H␈βαa␈↓β␈↓∂; THESE BITS ARE IMPLEMENTED CURRENTLY:␈↓ ↓H
␈↓ ↓H␈βα␈␈↓∂␈↓ ↓H
␈↓ ↓H␈ββ≠␈↓∂␈↓ αHBatch (left half of ␈↓εq␈↓∂) = 0␈↓ ↓H
␈↓ ↓H␈ββC␈↓∂VERHHR←←000001␈↓ βH;ENABLE H AND h HEIGHT OF FONT PSEUDO-REGISTER -- Has its effect at␈↓ ↓H
␈↓ ↓H␈ββa␈↓∂  the moment you attempt using any command that takes a register as an argument,␈↓ ↓H
␈↓ ↓H␈ββ␈␈↓∂  and you specify register "H" or "h".␈↓ ↓H
␈↓ ↓H␈β∧≥␈↓∂VERTRC←←000002␈↓ βH;TRACE AND OTHER TTY OUTPUT␈↓ ↓H
␈↓ ↓H␈β∧;␈↓∂VERSIM←←000004␈↓ βH;ENABLE <LF> SIMULATOR, ENABLE SIDE EFFECT OF REGISTER ";"␈↓ ↓H
␈↓ ↓H␈β∧Y␈↓∂  ;This simulates XGPSER enough to know at all times where it is on the page␈↓ ↓H
␈↓ ↓H␈β∧w␈↓∂  ;It allows sorting each output thing according to Y0 so that XGPSER doesn't complain␈↓ ↓H
␈↓ ↓H␈β¬∃␈↓∂␈↓β␈↓ α_WARNING␈α∞--␈α∞This␈α∞bit␈α∞can␈α∞not␈α∞be␈α∞turned␈α∞off␈α∞at␈α∞all␈α∞(I␈α∞haven't␈α∞implemented␈α∞it␈α∞because␈α∞it␈α
doesn't␈↓ ↓H
␈↓ ↓H␈β¬3␈↓β␈↓ ↓Hseem␈α
like␈α
a␈α
good␈α
idea␈α
for␈α
several␈α
reasons)␈α
--␈α
Regarding␈α
turning␈α
it␈α
on,␈α
if␈α
you␈α
turn␈α
it␈α
on␈α
after␈αone␈αor␈↓ ↓H
␈↓ ↓H␈β¬Q␈↓β␈↓ ↓Hmore␈αpages␈αof␈αtext␈αhave␈αbeen␈αoutput,␈αthe␈αbottom␈αmargin␈α
will␈α
probably␈α
get␈α
screwed␈α
up␈α
--␈α
If␈α
you␈α
turn␈α
it␈↓ ↓H
␈↓ ↓H␈β¬o␈↓β␈↓ ↓Hon␈α
after␈α
text␈α
has␈α
been␈αoutput␈αon␈αthe␈αcurrent␈αpage,␈αthe␈αxspooler␈αwill␈αprobably␈αabort␈αdue␈αto␈αincorrect␈↓ ↓H
␈↓ ↓H␈βε
␈↓β␈↓ ↓HY0␈αsequence␈α--␈αIn␈αconclusion,␈αyou␈αshould␈αturn␈αon␈αthe␈αsimulator␈αbefore␈αany␈αtext␈αis␈αoutput␈αat␈αall,␈αor␈αnot␈↓ ↓H
␈↓ ↓H␈βε+␈↓β␈↓ ↓Hat␈α
all.␈↓ ↓H
␈↓ ↓H␈βεH␈↓β␈↓ α_WARNING␈α--␈αYou␈αmust␈αdo␈αat␈αleast␈αone␈α␈↓1␈↓∂F␈↓β...␈αafter␈αturning␈αon␈αthe␈αsimulator␈αbefore␈αoutputting␈αany␈↓ ↓H
␈↓ ↓H␈βεh␈↓β␈↓ ↓Htext,␈α
or␈α
you␈α
will␈α
get␈α
screwed.␈↓ ↓H
␈↓ ↓H␈βπε␈↓β␈↓∂;000000␈↓ αH000010␈↓ βH;(RESERVED FOR FUTURE SGK-JUSTIFIER)␈↓ ↓H
␈↓ ↓H␈βπ$␈↓∂VER56P←←000020␈↓ βH;ENABLE $5 AND $6 INITIALIZATION WITH TLIM1 AND BLIM1 DATA --␈↓ ↓H
␈↓ ↓H␈βπB␈↓∂  See BUG#2 -- Takes effect when a $M command is executed on a font not previously␈↓ ↓H
␈↓ ↓H␈βπ`␈↓∂  loaded.␈↓ ↓H
␈↓ ↓H␈βπ}␈↓∂VERREM←←000040␈↓ βH;ENABLE REM'S SYNTAX FOR MACROS WITH ARGS DEFINITIONS -- Takes␈↓ ↓H
␈↓ ↓H␈βλ≤␈↓∂  effect when the macro is being defined.␈↓ ↓H
␈↓ ↓H␈βλ:␈↓∂VEREVE←←000100␈↓ βH;ENABLE EVERYPAGE MACRO␈↓ ↓H
␈↓ ↓H␈βλV␈↓∂  ;If on, once on every new page of output it simulates ␈↓1␈↓∂!EVERYPAGE; occurring in␈↓ ↓H
␈↓ ↓H␈βλu␈↓∂  your input file (at the first occurrance of <CR><LF> or ␈↓1␈↓∂;...<CR><LF> while at␈↓ ↓H
␈↓ ↓H␈β	∃␈↓∂  pass-as-is mode, or a few other places -- If you want this to happen on the page␈↓ ↓H
␈↓ ↓H␈β	1␈↓∂  where you turn on the feature, you will have to do ␈↓1␈↓∂!EVERYPAGE; yourself once there.␈↓ ↓H
␈↓ ↓H␈β	Q␈↓∂  WARNING!! -- Because of the fact that this macro is called at an almost-random␈↓ ↓H
␈↓ ↓H␈β	o␈↓∂  location with respect to your input file, it must be constructed so as to␈↓ ↓H
␈↓ ↓H␈β

␈↓∂  avoid clobbering anything (registers or input syntax, usually) that might␈↓ ↓H
␈↓ ↓H␈β
+␈↓∂  confuse the main processing of the file.  Any registers used should be saved␈↓ ↓H
␈↓ ↓H␈β
I␈↓∂  and restored using push/pop commands.  Watch out for $ $N $; $, etc. which␈↓ ↓H
␈↓ ↓H␈β
g␈↓∂  will cause strange and confusing destruction of your world if the terminating␈↓ ↓H
␈↓ ↓H␈β¬␈↓∂  <crlf> <ff> etc. is missing from your everypage macro.␈↓ ↓H
␈↓ ↓H␈β#␈↓∂;000000 000200␈↓ βH;(RESERVED FOR FUTURE COLIST-KLUDGE)␈↓ ↓H
␈↓ ↓H␈βA␈↓∂VERRHT←←000400␈↓ βH;ENABLE MODIFIED WAY TO PARSE ARGS THAT HAVE NESTING CHARS IN THEM␈↓ ↓H
␈↓ ↓H␈β←␈↓∂  (i.e. anything inside nesting inside nesting is quoted, etc., see␈↓ ↓H
␈↓ ↓H␈β⎇␈↓∂   the earlier section "Detailed examples of argument evaluation")␈↓ ↓H
␈↓ ↓H␈β≠␈↓∂  Takes effect when a parameter is being parsed prior to being bound to dummy arg.␈↓ ↓H
␈↓ ↓H␈β9␈↓∂VERREG←←001000␈↓ βH;$'<OCTAL>; OLD WAY -- 177 ALWAYS EVEN IF IT DEFEATS POX QUIETLY␈↓ ↓H
␈↓ ↓H␈βW␈↓∂VERSMT←←002000␈↓ βH;$'<OCTAL>; NEW WAY -- 177 ONLY IF NEEDED␈↓ ↓H
␈↓ ↓H␈βu␈↓∂VERIDC←←004000␈↓ βH;SPECIAL REQUEST BY RHT, NO ERROR IF ; OMITTED AFTER MACRO CALL␈↓ ↓H
␈↓ ↓H␈β
∪␈↓∂VERPAG←←010000␈↓ βH;AUTOMATIC PAGE CHANGE W/OUT FIRST WARNING, TEXT AND $O OUTPUT OVL␈↓ ↓H
␈↓ ↓H␈β
1␈↓∂VERBG1←←020000␈↓ βH;ENABLES BUG#1 WARNING MESSAGE (TEMPORARY)␈↓ ↓H
␈↓ ↓H␈β
O␈↓∂VERLCS←←040000␈↓ βH;CHANGE WAY TABS IN PASSIS ARE DONE TO 1/10 OF RMAR-LMAR * INPUT COL␈↓ ↓H
␈↓ ↓H␈β
m␈↓∂  WARNING -- Only tabs in input file do the right thing.  A counter␈↓ ↓H
␈↓ ↓H␈β∞␈↓∂  keeps track of what column in the input file we are at, and␈↓ ↓H
␈↓ ↓H␈β∞)␈↓∂  rounds up to multiple of 8 when a tab occurs in the input FILE␈↓ ↓H
␈↓ ↓H␈β∞G␈↓∂  (not in a macro expansion patch).  Thus any text just after a tab␈↓ ↓H
␈↓ ↓H␈β∞e␈↓∂  in the input file will appear on the output page in approximately␈↓ ↓H
␈↓ ↓H␈β∂β␈↓∂  the same column on the XGP.  Note that a tab in a macro will␈↓ ↓H
␈↓ ↓H␈β∂!␈↓∂  activate this mechanism, but it will go to a position corresponding␈↓ ↓H
␈↓ 
c␈↓α 21␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 22␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓∂  to the input FILE rather than what that file would have been with␈↓ ↓H
␈↓ ↓H␈β↓f␈↓∂  the macros inserted in it.  Note that the three low order bits␈↓ ↓H
␈↓ ↓H␈βα∧␈↓∂  of the column counter are ignored also.  A warning message␈↓ ↓H
␈↓ ↓H␈βα"␈↓∂  will be generated if a tab is encountered in a macro while not at␈↓ ↓H
␈↓ ↓H␈βα@␈↓∂  a multiple of 8 columns, until such time as␈↓ ↓H
␈↓ ↓H␈βα↑␈↓∂  an implemtation is found that satisfies everyone.␈↓ ↓H
␈↓ ↓H␈βα|␈↓∂VERESC←←100000␈↓ βH;CAUSES BRICK CHAR IN MACRO BODY TO BE SAME AS ⊗$⊗ FEATURE, i.e.␈↓ ↓H
␈↓ ↓H␈ββ~␈↓∂  the <BRICK> token rather than the character itself -- This bit is tested at the␈↓ ↓H
␈↓ ↓H␈ββ8␈↓∂ time the macro body is being parsed and associated with the macro name␈↓ ↓H
␈↓ ↓H␈ββT␈↓∂(at define-time during execution of the ␈↓1␈↓∂8 or ␈↓1␈↓∂∞ command).␈↓ ↓H
␈↓ ↓H␈ββt␈↓∂␈↓β␈↓ ↓HWARNING!!␈α(75␈αAUG␈α03)␈α--␈αThe␈αtoken␈αin␈αthe␈αmacro␈αbody␈αis␈αreplaced␈αby␈αthe␈αcurrent␈αbrick␈αcharacter␈αat␈↓ ↓H
␈↓ ↓H␈β∧∩␈↓β␈↓ ↓Hthe␈α
time␈α
the␈α
token␈α
is␈α
rescanned␈α
as␈α
input,␈α
not␈α
earlier␈α
when␈α
the␈α
macro␈α
body␈α
is␈α
patched␈α
into␈α
the␈α
input␈↓ ↓H
␈↓ ↓H␈β∧0␈↓β␈↓ ↓Hstream,␈α
so␈α
if␈α
your␈α
brick␈α
character␈α
at␈α
macro-define␈α
time␈α
was␈α
\␈α
and␈αthe␈αmacro␈αbody␈αincludes␈α\|$...$|\␈αit␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓ ↓Hwill␈α
be␈α
compiled␈α
as␈α
<brick>|$...$|<brick>␈α
then␈α
if␈α
when␈α
you␈α
call␈αit␈α\␈αis␈αthe␈αbrick␈αcharacter,␈αthe␈α<brick>|$␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓ ↓Hwill␈αbe␈αconverted␈αto␈α\|$␈αand␈α$␈αwill␈αbe␈αyou␈αbrick␈αcharacter␈αfor␈α...,␈αthen␈α$|<brick>␈αwill␈α
be␈α
converted␈α
to␈α
$|$␈↓ ↓H
␈↓ ↓H␈β¬
␈↓β␈↓ ↓Hinstead␈αof␈αthe␈α$|\␈αyou␈αprobably␈αintended,␈αand␈αyou␈αwill␈αtotally␈αlose␈α
just␈α
like␈α
this␈α
POX␈α
writeup␈α
did␈α
before␈↓ ↓H
␈↓ ↓H␈β¬(␈↓β␈↓ ↓HI␈α∞located␈α∞this␈α∞subtle␈α∞bug␈α∞(in␈α∞this␈α∞writeup)␈α∞and␈α∞fixed␈α∞it.␈α∞If␈α∞you␈α
want␈α
the␈α
effect␈α
desired␈α
(whatever␈α
the␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ ↓Hbrick␈αchar␈αis,␈αchange␈αit␈αto␈α$,␈α
then␈α
back␈α
again)␈α
you␈α
can␈α
probably␈α
make␈α
it␈α
work␈α
by␈α
having␈α
your␈α
macro␈α
call␈↓ ↓H
␈↓ ↓H␈β¬d␈↓β␈↓ ↓HEVAL␈α∞with␈α∞a␈α∞quoted␈α∞string␈α∞containing␈α
the␈α
brick␈α
character,␈α
thereby␈α
forcing␈α
both␈α
<brick>␈α
tokens␈α
to␈α
be␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ ↓Hreplaced␈α∩by␈α∩the␈α∩same␈α∩brick␈α∩character␈α∩at␈α∩argument-binding␈α∩(arg␈α∩to␈α∩EVAL)␈α∩time␈α⊃and␈α⊃used␈α⊃in␈α⊃both␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓ ↓Hinstances.␈α
Note␈α
that␈α
this␈α
subtle␈α
problem␈α
happens␈α
the␈α
same␈α
with␈α
the␈α
old␈α
⊗$⊗␈α
syntax␈α
in␈α
macro␈α
bodies.␈↓ ↓H
␈↓ ↓H␈βε>␈↓β␈↓∂VERXX1←←200000␈↓ βH;IMPLEMENTS CORRECT OUTPUT-OVERLAY AS OF 1975.JUL/AUG␈↓ ↓H
␈↓ ↓H␈βε\␈↓∂VERVER←←400000␈↓ βH;ALLOWS TYPEOUT OF SPECIAL FEATURES ON/OFF␈↓ ↓H
␈↓ ↓H␈βεz␈↓∂␈↓ ↓H
␈↓ ↓H␈βπ⊗␈↓∂␈↓ αHBatch (left half of ␈↓εq␈↓∂) = 1␈↓ ↓H
␈↓ ↓H␈βπ>␈↓∂VE1QES←←000001␈↓ βH;SUPPRESSES CRUFTY OLD $$ "FEATURE"␈↓ ↓H
␈↓ ↓H␈βπ\␈↓∂VE1OPN←←000002␈↓ βH;OUTPUT PAGE NUMBERS TYPED␈↓ ↓H
␈↓ ↓H␈βπz␈↓∂␈↓ ↓H
␈↓ ↓H␈βλ⊗␈↓∂␈↓β␈↓ ββFor␈αexample,␈αthe␈αcommand␈α␈↓1␈↓∂⊂'446;␈↓β␈αwill␈αturn␈α
on␈α
the␈α
simulator␈α
and␈α
enable␈↓ ββ
␈↓ ββ␈βλ6␈↓β␈↓ ββthe␈αfull␈α
REM␈α
macro-with-argument␈α
syntax␈α
with␈α
ability␈α
to␈α
quote␈α
portions␈α
of␈↓ ββ
␈↓ ββ␈βλT␈↓β␈↓ ββarguments␈α⊂and␈α⊂cause␈α⊂trace␈α⊂output␈α⊂to␈α⊂appear␈α⊂on␈α∂your␈α∂terminal␈α∂as␈α∂POX␈↓ ββ
␈↓ ββ␈βλq␈↓β␈↓ ββruns.␈αThe␈α
command␈α
␈↓1␈↓∂⊂'1000001;␈↓β␈α
will␈α
turn␈α
on␈α
the␈α
bit␈α
that␈α
deletes␈α
the␈α
␈↓11␈↓β␈↓ ββ
␈↓ ββ␈β	⊂␈↓β␈↓ ββcommand.␈α
At␈α
a␈α
later␈αtime␈α␈↓1␈↓∂⊃'2;␈↓β␈αwill␈αturn␈αoff␈αthe␈αtrace␈αwithout␈αaffecting␈↓ ββ
␈↓ ββ␈β	0␈↓β␈↓ ββthe␈α
simulator␈α
or␈α
macro-with-arguments␈α
or␈α
any␈α
other␈α
special-feature␈α
bits.␈↓ ββ
␈↓ ↓H␈β	N␈↓β␈↓ ↓H␈↓ ↓H
␈↓ ↓H␈β	k␈↓β␈↓␈↓ ∧3REMARKS ON USING THE POX PROGRAM␈↓ ↓H
␈↓ ↓H␈β

␈↓␈↓β␈↓ α_If␈αyou␈αhave␈αthe␈αVERTRC␈αflag␈αenabled␈α(see␈αthe␈α␈↓1␈↓∂⊂␈↓β␈αcommand␈αet.al.)␈αvarious␈αrandom␈αthings␈αwill␈αget␈↓ ↓H
␈↓ ↓H␈β
,␈↓β␈↓ ↓Htyped␈αout␈αwhile␈αPOX␈αis␈αrunning,␈αincluding␈αtext␈αin␈αyour␈αinput␈αfile␈αappearing␈αafter␈α␈↓1␈↓β␈↓∂;␈↓β␈αand␈α␈↓1␈↓β␈↓∂,␈↓β␈αcommands.␈↓ ↓H
␈↓ ↓H␈β
L␈↓β␈↓ ↓HFor␈α⊃the␈α⊃most␈α⊃part␈α⊃you␈α⊃may␈α⊃ignore␈α⊃them.␈α⊂If␈α⊂you␈α⊂really␈α⊂want␈α⊂to␈α⊂know␈α⊂about␈α⊂them,␈α⊂ask␈α⊂REM␈α⊂about␈↓ ↓H
␈↓ ↓H␈β
j␈↓β␈↓ ↓Hparticular␈αones,␈αor␈αlook␈αin␈αthe␈αsource␈αprogram␈αfor␈αPOX.␈αThese␈αtrace␈αoutputs␈αare␈α
all␈α
subject␈α
to␈α
purge␈α
at␈↓ ↓H
␈↓ ↓H␈βλ␈↓β␈↓ ↓Hany␈α
time␈α
as␈α
POX␈α
develops.␈↓ ↓H
␈↓ ↓H␈β&␈↓β␈↓ α_To␈α∪enable␈α∪some␈α∪of␈α∪the␈α∩new␈α∩features␈α∩implemented␈α∩after␈α∩1974␈α∩Nov␈α∩which␈α∩conflict␈α∩with␈α∩old␈↓ ↓H
␈↓ ↓H␈βC␈↓β␈↓ ↓Hfeatures,␈α⊃special␈α⊃flags␈α⊃must␈α⊃be␈α⊃set␈α⊃earlier␈α⊃in␈α⊃your␈α⊃input␈α⊃file␈α⊃(see␈α⊃the␈α⊃␈↓1␈↓∂⊂␈↓β␈α⊃command␈α⊂et.al.)␈α⊂--␈α⊂The␈↓ ↓H
␈↓ ↓H␈βc␈↓β␈↓ ↓Hdefinition␈α
of␈α
register␈α
␈↓∂∀␈↓β␈α
as␈α
the␈α
accumulator,␈α
and␈α
the␈α
newly-implemented␈α
side-effects␈α
of␈α
q-register␈α"␈↓∂,␈↓β"␈↓ ↓H
␈↓ ↓H␈β↓␈↓β␈↓ ↓Hare␈α∂automatically␈α∂in␈α∂effect␈α∂and␈α∂can␈α∂not␈α∞be␈α∞inhibited␈α∞except␈α∞by␈α∞using␈α∞an␈α∞old␈α∞version␈α∞of␈α∞POX␈α∞(before␈↓ ↓H
␈↓ ↓H␈β∨␈↓β␈↓ ↓H74.DEC).␈↓ ↓H
␈↓ ↓H␈β=␈↓β␈↓ ↓H
␈↓ ↓H␈βZ␈↓β␈↓␈↓ ¬QBacktrace package␈↓ ↓H
␈↓ ↓H␈β|␈↓␈↓β␈↓ α_There␈αare␈α5␈αkinds␈αof␈αerrors␈αthat␈αcan␈αoccur␈αwhile␈αPOX␈αis␈αcompiling␈αa␈αtext␈αfile:␈α(1)␈αE40␈α=␈αbugs␈αin␈↓ ↓H
␈↓ ↓H␈β
~␈↓β␈↓ ↓Hthe␈αuser␈αfile␈αfrom␈αwhich␈αit␈αmight␈αbe␈αpossible␈αto␈αcontinue␈αif␈αthe␈αparser␈α
is␈α
correctly␈α
synchronized␈α
or␈α
if␈α
it␈↓ ↓H
␈↓ ↓H␈β
8␈↓β␈↓ ↓Hwill␈αre-synchronize␈αitself␈αsoon␈αenough␈αto␈αbe␈αable␈αto␈αdo␈α
the␈α
rest␈α
of␈α
the␈α
file␈α
mostly␈α
correctly.␈α
(2)␈α
E40F␈α
=␈↓ ↓H
␈↓ ↓H␈β
V␈↓β␈↓ ↓H"fatal"␈αbugs␈αin␈αthe␈αuser␈αfile␈αfrom␈αwhich␈αcontinuation␈αis␈αnot␈αpossible␈αbut␈αcontext␈αinformation␈αis␈α
available␈↓ ↓H
␈↓ ↓H␈β
t␈↓β␈↓ ↓Hand␈α∞might␈α∞be␈α∞helpful␈α
to␈α
the␈α
user␈α
(3)␈α
ERRF␈α
=␈α
errors␈α
caused␈α
by␈α
the␈α
input␈α
file␈α
that␈α
have␈α
wiped␈α
out␈α
all␈↓ ↓H
␈↓ ↓H␈β∞∩␈↓β␈↓ ↓Hcontext␈α
information␈α
--␈α
This␈α
usually␈α
happens␈α
at␈α
the␈α
end␈α
of␈α
a␈α
file␈α
while␈αinside␈αthe␈αmode␈αof␈αbuilding␈αup␈↓ ↓H
␈↓ ↓H␈β∞0␈↓β␈↓ ↓Hthe␈α∂body␈α∂of␈α∂a␈α∂macro␈α∂or␈α∞macro-argument,␈α∞caused␈α∞by␈α∞a␈α∞missing␈α∞parenthesis␈α∞somewhere.␈α∞(4)␈α∞FATAL␈α∞=␈↓ ↓H
␈↓ ↓H␈β∞N␈↓β␈↓ ↓Hbugs␈αin␈αPOX␈αin␈αcode␈αthat␈αis␈αin␈αa␈αstate␈αof␈αdebugging␈αand␈αstill␈αhas␈αASCII␈αwarning␈αmessages␈αfor␈αdetected␈↓ ↓H
␈↓ ↓H␈β∞l␈↓β␈↓ ↓Herrors␈α∂(5)␈α∂INTERR␈α∂=␈α∂internal␈α∂errors␈α∂detected␈α∂in␈α∂POX␈α∂program,␈α∂in␈α∂code␈α∂that␈α∂shouldn't␈α∂have␈α∂anything␈↓ ↓H
␈↓ ↓H␈β∂
␈↓β␈↓ ↓Hwrong␈α
with␈α
it,␈α
probably␈α
core␈α
clobberage␈α
rather␈α
than␈α
POX␈α
bugs.␈↓ ↓H
␈↓ ↓H␈β∂(␈↓β␈↓ α_In␈αE40␈αerrors␈αthe␈αerror␈αmessage␈αis␈αtyped␈αout,␈αthen␈αthe␈αcurrent␈αlevel␈αof␈αmacro␈αexpansion␈αor␈αfile␈↓ ↓H
␈↓ 
c␈↓α 22␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 23␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓Hinput␈αis␈αtyped␈αout␈αin␈αabout␈αthe␈αsame␈αway␈αas␈αthe␈αSAIL␈αcompiler␈αannounces␈αcompilation␈αerrors,␈αthen␈αthe␈↓ ↓H
␈↓ ↓H␈β↓f␈↓β␈↓ ↓Huser␈α
has␈α
the␈α
following␈α
options:␈↓ ↓H
␈↓ ↓H␈βαβ␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α
␈↓∂P␈↓β␈α
to␈α
proceed␈α
with␈α
the␈α
program;␈↓ ↓H
␈↓ ↓H␈βα!␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α⊂␈↓¬<ctrl><meta>␈↓∂P␈↓β␈α⊂to␈α⊂clobber␈α⊂the␈α⊂error-call␈α⊂to␈α⊂a␈α∂NO-OP␈α∂and␈α∂proceed.␈α∂Thus␈α∂if␈α∂the␈α∂same␈α∂error␈↓ ↓H
␈↓ ↓H␈βα@␈↓β␈↓ ↓Hhappens␈α
no␈α
message␈α
will␈α
be␈α
generated␈α
and␈α
it␈α
will␈α
proceed␈α
as␈α
if␈α
you␈α
had␈α
typed␈α
␈↓∂P␈↓β␈α
each␈α
time;␈↓ ↓H
␈↓ ↓H␈βα]␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α
␈↓∂R␈↓β␈α
to␈α
remember␈α
the␈α
current␈α
location␈α
in␈α
the␈α
source␈α
file␈α
and␈α
proceed;␈↓ ↓H
␈↓ ↓H␈βα{␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α
␈↓¬<ctrl><meta>␈↓∂R␈↓β␈α
to␈α
remember,␈α
clobber,␈α
and␈α
proceed;␈↓ ↓H
␈↓ ↓H␈ββ→␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α∞␈↓∂T␈↓β␈α∞to␈α∞pop␈α∞up␈α∞one␈α∞macro␈α∞level␈α∞and␈α∞do␈α∞a␈α∞context␈α∞display␈α
there␈α
too␈α
[the␈α
pop-up␈α
is␈α
for␈α
the␈↓ ↓H
␈↓ ↓H␈ββ8␈↓β␈↓ ↓Hdisplayed␈αoutput␈αonly,␈αit␈αdoesn't␈α
change␈α
the␈α
point␈α
where␈α
the␈α
program␈α
would␈α
resume␈α
if␈α
P␈α
were␈α
hit␈α
later]␈↓ ↓H
␈↓ ↓H␈ββV␈↓β␈↓ ↓H--␈αIf␈αyou␈αhave␈αpopped␈αup␈αto␈αan␈αactual␈αinput␈α
(DSK)␈α
file,␈α
or␈α
were␈α
there␈α
already,␈α
you␈α
can't␈α
pop␈α
up␈α
further␈↓ ↓H
␈↓ ↓H␈ββt␈↓β␈↓ ↓Hbecause␈α
implementating␈α
that␈α
capability␈α
in␈α
an␈α
obvious␈α
way␈α
WOULD␈α
clobber␈α
the␈α
context;␈↓ ↓H
␈↓ ↓H␈β∧⊃␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α␈↓∂E␈↓β␈αto␈αreturn␈αto␈αdisplay␈αeditor␈αat␈αthis␈αlocation␈αin␈αthe␈αinput␈αfile.␈αThe␈αonly␈αway␈αthat␈αcurrently␈↓ ↓H
␈↓ ↓H␈β∧0␈↓β␈↓ ↓Hexists␈αfor␈αgetting␈αfrom␈αE␈αback␈αto␈αPOX␈αautomatically␈αwith␈αthe␈αcorrect␈αtop-level␈αfile,␈αis␈αto␈αhave␈αa␈αdo␈αfile␈↓ ↓H
␈↓ ↓H␈β∧N␈↓β␈↓ ↓Hthat␈α
says:␈α
␈↓∂R␈α
POX↔←␈↓¬<FILE>␈↓∂↔␈↓β␈α
and␈α
to␈α
type␈α
to␈α
the␈α
system␈α␈↓∂DO␈α␈↓¬<DO␈αFILE␈αNAME><CR><LF>␈↓β␈αthe␈αfirst␈αtime␈αyou␈αrun␈↓ ↓H
␈↓ ↓H␈β∧l␈↓β␈↓ ↓HPOX,␈α
then␈α
afterward␈α
to␈α
use␈α
the␈α
<CTRL><META>␈↓∂X␈α
G␈↓¬<CR>␈↓β␈α
command␈α
in␈α
E;␈↓ ↓H
␈↓ ↓H␈β¬	␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α
␈↓¬<ctrl><meta>␈↓∂E␈↓β␈α
to␈α
return␈α
to␈α
display␈α
editor␈α
at␈α
the␈α
location␈α
you␈α
had␈α
it␈α
remember␈α
earlier;␈↓ ↓H
␈↓ ↓H␈β¬'␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α⊂␈↓∂D␈↓β␈α⊂to␈α⊂go␈α⊂into␈α⊂debug␈α⊂mode␈α⊂(i.e.␈α⊂RAID).␈α⊂Hit␈α⊂<ctrl>P␈α⊂to␈α⊂return␈α⊂from␈α⊂RAID␈α⊂to␈α⊂the␈α⊂backtrace␈↓ ↓H
␈↓ ↓H␈β¬F␈↓β␈↓ ↓Hpackage;␈↓ ↓H
␈↓ ↓H␈β¬c␈↓β␈↓ α_→␈↓#↓ ␈↓#Hit␈α<CALL>␈αto␈αdo␈αanything␈αelse,␈αlike␈α
to␈α
edit␈α
with␈α
SOS,␈α
or␈α
to␈α
give␈α
up␈α
entirely,␈α
or␈α
to␈α
"␈↓∂F␈α
DSK␈↓β"␈α
then␈↓ ↓H
␈↓ ↓H␈βεα␈↓β␈↓ ↓Hsee␈α
what␈α
POX␈α
outputted␈α
before␈α
the␈α
error␈α
occurrred.␈↓ ↓H
␈↓ ↓H␈βε ␈↓β␈↓ α_From␈α
E40F␈α
errors␈α
all␈α
the␈α
above␈α
are␈α
available␈α
except␈α
those␈α
which␈α
involve␈α
proceeding.␈↓ ↓H
␈↓ ↓H␈βε>␈↓β␈↓ α_If␈α
you␈α
want␈αto␈αexamine␈αyour␈αoutput␈αfile␈αaccording␈αto␈αhow␈αthe␈αXGP␈αservice␈αparses␈αit,␈α␈↓∂R␈αXGPTYP␈↓β.␈↓ ↓H
␈↓ ↓H␈βε\␈↓β␈↓ ↓HFor␈αinvestigating␈αnew␈αbugs␈αin␈αa␈αlarge␈αfile,␈αa␈α
useful␈α
technique␈α
is␈α
to␈α
run␈α
XGPTYP␈α
on␈α
both␈α
the␈α
output␈α
from␈↓ ↓H
␈↓ ↓H␈βεz␈↓β␈↓ ↓Ha␈α∂backup␈α∂working␈α∂version␈α∂of␈α∂your␈α∂file␈α∂and␈α∂the␈α∂output␈α∂from␈α∂the␈α∞version␈α∞you␈α∞are␈α∞debugging,␈α∞then␈α∞␈↓∂R␈↓ ↓H
␈↓ ↓H␈βπ_␈↓∂␈↓ ↓HSRCCOM␈↓β␈α
and␈α
␈↓∂TTY:←␈↓β<OLD␈α
XGPTYP␈α
LISTING>␈↓∂,␈↓β<NEW␈α
XGPTYP␈α
LISTING>.␈↓ ↓H
␈↓ ↓H␈βπ6␈↓β␈↓ α_If␈α∞your␈α∞file␈α∞looks␈α∞ok␈α∞but␈α
you␈α
get␈α
the␈α
message␈α
␈↓∂XGPSER␈α
MISSED␈α
IT.␈↓β␈α
then␈α
try␈α
appending␈α
to␈α
the␈↓ ↓H
␈↓ ↓H␈βπT␈↓β␈↓ ↓Hend␈α
of␈α
the␈α␈↓∂XSPOOL␈↓β␈αcommand␈αthe␈αswitch␈α␈↓∂/NTNODE=31␈↓β,␈αthen␈αif␈αit␈αstill␈αdoesn't␈αwork␈αdiscuss␈αit␈αwith␈αRWG␈↓ ↓H
␈↓ ↓H␈βπr␈↓β␈↓ ↓Hor␈α
REG␈α
who␈α
are␈α
experts␈α
at␈α
this.␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓β␈↓ ↓H
␈↓ ↓H␈βλ-␈↓β␈↓␈↓ β`Known Bugs in POX (Referred-to earlier in writeup)␈↓ ↓H
␈↓ ↓H␈βλO␈↓␈↓β␈↓ α_BUG#1␈α
--␈α
[Fixed␈α
1975␈α
MAY/JUN]␈↓ ↓H
␈↓ ↓H␈βλm␈↓β␈↓ ↓H
␈↓ ↓H␈β	␈↓β␈↓ α_BUG#2␈α∂--␈α∂Font␈α∂FORN25␈α∂and␈α∂other␈α∂fonts␈α∞with␈α∞funny␈α∞width␈α∞characters␈α∞cause␈α∞a␈α∞fatal␈α∞error,␈α∞and␈↓ ↓H
␈↓ ↓H␈β	(␈↓β␈↓ ↓Hparameters␈α∞5,6␈α∞don't␈α∞usually␈α∞work␈α∞correctly.␈α∞[new␈α∞bug␈α∞since␈α∞␈↓1␈↓∂5␈↓β␈α∞and␈α∞␈↓1␈↓∂6␈↓β␈α
were␈α
implemented,␈α
the␈α
bad␈↓ ↓H
␈↓ ↓H␈β	G␈↓β␈↓ ↓Hcode␈α⊃has␈α⊃now␈α⊃been␈α⊂patched-around,␈α⊂so␈α⊂that␈α⊂normally␈α⊂no␈α⊂bug␈α⊂will␈α⊂occur␈α⊂but␈α⊂␈↓1␈↓∂5␈↓β␈α⊂and␈α⊂␈↓1␈↓∂6␈↓β␈α⊂will␈α⊂give␈↓ ↓H
␈↓ ↓H␈β	f␈↓β␈↓ ↓Hincorrect␈αdata,␈αbut␈αif␈αyou␈αuse␈αthe␈α␈↓1␈↓∂⊂'20;␈↓β␈αswitch␈αyou␈αtake␈αyour␈αchances␈α--␈αsomeday␈αthe␈αcode␈αwill␈αbe␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓Hreally␈α
fixed.]␈↓ ↓H
␈↓ ↓H␈β
$␈↓β␈↓ ↓H
␈↓ ↓H␈β
B␈↓β␈↓ α_BUG#3␈α--␈αAfter␈αsome␈α
errors␈α
that␈α
happen␈α
in␈α
justify␈α
mode,␈α
typing␈α
␈↓∂P␈↓β␈α
will␈α
hang␈α
in␈α
a␈α
loop␈α
in␈α
which␈α
an␈↓ ↓H
␈↓ ↓H␈β
`␈↓β␈↓ ↓Herroneous␈α
error␈α
is␈α
repeatedly␈α
hit␈α
--␈α
someday␈α
I␈α
might␈α
figure␈α
out␈α
what␈α
is␈α
happening␈α
here.␈↓ ↓H
␈↓ ↓H␈β
}␈↓β␈↓ ↓H
␈↓ ↓H␈β≤␈↓β␈↓ α_BUG#4␈α
--␈α
In␈α
justify␈α
mode,␈α
N␈α
blank␈α
lines␈α
in␈α
input␈α
generate␈α
2N-1␈α
blank␈α
lines␈α
in␈α
output.␈α
I␈α
haven't␈↓ ↓H
␈↓ ↓H␈β:␈↓β␈↓ ↓Hfigured␈α
out␈α
a␈α
simple␈α
way␈α
to␈α
fix␈α
it,␈α
so␈α
beware.␈↓ ↓H
␈↓ ↓H␈βX␈↓β␈↓ ↓H
␈↓ ↓H␈βu␈↓β␈↓␈↓ ∧<NOTES (Referred-to earlier in writeup)␈↓ ↓H
␈↓ ↓H␈β↔␈↓␈↓β␈↓ ↓H(NOTE␈α
1)␈α--␈αEverywhere,␈αexcept␈αat␈αthe␈αstart␈αof␈αthe␈αtop-level␈αfile,␈αPOX␈αreads␈αcharacters␈αin␈αthe␈αnormal␈↓ ↓H
␈↓ ↓H␈β5␈↓β␈↓ ↓Hsequence,␈α∞and␈α∞expects␈α∞all␈α∞syntax␈α
to␈α
be␈α
left-to-right␈α
decodeable.␈α
This␈α
is␈α
why,␈α
for␈α
example,␈α
the␈α
string␈↓ ↓H
␈↓ ↓H␈βR␈↓β␈↓ ↓H␈↓11␈↓∂!FOO;␈↓β,␈α
if␈α
seen␈α
in␈α
top-level␈αleft␈αcontext,␈αis␈αparsed␈αas␈α[quote␈αthe␈αescape␈αcharacter,␈αthen␈αoutput␈αthe␈↓ ↓H
␈↓ ↓H␈βr␈↓β␈↓ ↓Hstring␈α
"␈↓∂!FOO␈↓β"],␈α
rather␈α
than␈α
as␈α
[expand␈α
the␈α
macro␈α
␈↓∂FOO␈↓β␈α
then␈α
execute␈α
the␈α
command␈α
that␈α
results␈α
from␈αa␈↓ ↓H
␈↓ ↓H␈β
⊂␈↓β␈↓ ↓Hbrick␈α
character␈α
in␈α
front␈α
of␈α
it].␈↓ ↓H
␈↓ ↓H␈β
.␈↓β␈↓ α_However,␈α
at␈α
the␈α
start␈α
of␈α
the␈α
first␈α
top-level␈α
input␈α
file␈α
a␈α
special␈αinitialization␈αparser␈αis␈αemployed␈↓ ↓H
␈↓ ↓H␈β
L␈↓β␈↓ ↓Hthat␈αpre-reads␈αthe␈αfirst␈αtwo␈αcharacters␈αthen␈αdecides␈αwhat␈αto␈αdo␈αregarding␈αsyntax.␈αThe␈αfollowing␈αtable␈↓ ↓H
␈↓ ↓H␈β
j␈↓β␈↓ ↓Hshows␈αthe␈αfirst␈αcharacters␈αand␈αwhat␈α
happens␈α
(here␈α
"∀"␈α
means␈α
any␈α
character␈α
not␈α
mentionned␈α
previously␈↓ ↓H
␈↓ ↓H␈β∞λ␈↓β␈↓ ↓Hin␈α∀the␈α∀same␈α∀context,␈α∀"∀∀"␈α∀means␈α∀the␈α∀two␈α∀copies␈α∀of␈α∀some␈α∪character,␈α∪"∀∃"␈α∪means␈α∪two␈α∪different␈↓ ↓H
␈↓ ↓H␈β∞&␈↓β␈↓ ↓Hcharacters):␈↓ ↓H
␈↓ ↓H␈β∞D␈↓β␈↓ α_␈↓∂C␈↓β␈α
--␈α
assumes␈α
this␈α
is␈α
a␈α
TV/E␈αdirectory␈α--␈αskips␈αeverything␈αuntil␈αASCII␈α'014␈α(Form␈αFeed)␈αis␈αseen,␈↓ ↓H
␈↓ ↓H␈β∞b␈↓β␈↓ ↓Hthen␈α
prereads␈α
again␈α
using␈α
only␈α
the␈α
options␈α
below␈α
this␈α
one.␈↓ ↓H
␈↓ ↓H␈β∂␈↓β␈↓ α_␈↓∂∀|␈↓β␈α--␈αassumes␈αthis␈αis␈αa␈α"change␈αthe␈αescape␈αcharacter"␈αcommand␈α--␈αjumps␈αinto␈αthe␈αmiddle␈αof␈αthe␈↓ ↓H
␈↓ ↓H␈β∂≥␈↓β␈↓ ↓H␈↓1␈↓∂|␈↓¬<CH>␈↓β␈α
code␈α
--␈α
in␈α
my␈α
opinion,␈α
this␈α
is␈α
the␈α
preferred␈α
way␈α
to␈α
begin␈α
a␈α
POX␈α
file␈αand␈αall␈αnew␈αfiles␈αshould␈↓ ↓H
␈↓ 
c␈↓α 23␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 24␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓ ↓Hbegin␈α∞this␈α∞way␈α∞--␈α∞for␈α∞example,␈α∞your␈α∞file␈α∞might␈α∞begin␈α∞with␈α
␈↓∂\|\\M0KBD25;\M1BDR30;\;␈↓β␈α
which␈α
would␈↓ ↓H
␈↓ ↓H␈β↓e␈↓β␈↓ ↓Hdefine␈α␈↓∂\␈↓β␈αas␈αthe␈α␈↓1␈↓β␈αcharacter,␈α
change␈α
it␈α
to␈α
␈↓∂\␈↓β␈α
(i.e.␈α
no␈α
change),␈α
define␈α
two␈α
fonts,␈α
and␈α
suppress␈α
the␈α
␈↓¬<CR><LF>␈↓β␈↓ ↓H
␈↓ ↓H␈βα¬␈↓β␈↓ ↓Hat␈α⊃the␈α⊃end␈α⊃of␈α⊃the␈α⊃line␈α⊂--␈α⊂Note␈α⊂that␈α⊂because␈α⊂most␈α⊂users␈α⊂of␈α⊂POX␈α⊂prefer␈α⊂to␈α⊂use␈α⊂"␈↓∂\␈↓β"␈α⊂as␈α⊂their␈α⊂brick␈↓ ↓H
␈↓ ↓H␈βα#␈↓β␈↓ ↓Hcharacter,␈αif␈αyou␈αplan␈αto␈αuse␈αsome␈αcharacter␈αother␈αthan␈α\␈αas␈αthe␈αbrick␈αcharacter␈αin␈αyour␈αfile,␈αand␈αyou␈↓ ↓H
␈↓ ↓H␈βαA␈↓β␈↓ ↓Hwant␈αyour␈αfile␈αto␈αbe␈αcallable␈α(with␈αminimum␈αhassle)␈αas␈αa␈αrequired␈αsource␈αfile␈αfrom␈αsome␈αother␈αfile,␈αyou␈↓ ↓H
␈↓ ↓H␈βα↑␈↓β␈↓ ↓Hshould␈αprobably␈αbegin␈αyour␈αfile␈αwith␈α␈↓∂\|␈↓1␈↓β␈α(where␈α␈↓1␈↓β␈αdenotes␈α
your␈α
local␈α
brick␈α
character)␈α
and␈α
put␈α
␈↓1␈↓∂|\␈↓β␈α
at␈↓ ↓H
␈↓ ↓H␈βα⎇␈↓β␈↓ ↓Hthe␈α∂very␈α∂end␈α∂of␈α∂the␈α∂file.␈α∂--␈α∂Note␈α∂that␈α∂this␈α∂does␈α∂not␈α∂apply␈α∂to␈α∂libraries␈α∂of␈α∂macros,␈α∂in␈α∂which␈α∞the␈α∞␈↓1␈↓∂|␈↓β␈↓ ↓H
␈↓ ↓H␈ββ≥␈↓β␈↓ ↓Hcommand␈αis␈αcurrently␈αignored,␈αand␈αyou␈αshould␈αavoid␈αincluding␈αit␈α(thus␈αall␈αmacro␈αdefinitions␈αwill␈αuse␈αthe␈↓ ↓H
␈↓ ↓H␈ββ;␈↓β␈↓ ↓Hsame␈α
brick␈α
character␈α
throughout␈α
your␈α
file).␈↓ ↓H
␈↓ ↓H␈ββY␈↓β␈↓ α_␈↓∂∀∀␈↓β␈α
--␈α
assume␈α
this␈α
is␈α
a␈αbare␈α(out-of-syntax)␈αoccurrance␈αof␈αthe␈αescape␈αcharacter␈αfor␈αpurpose␈αof␈↓ ↓H
␈↓ ↓H␈ββw␈↓β␈↓ ↓Hdefining␈α
it␈α
the␈α
old␈α
way␈α
(1973␈α
MAR-APR),␈α
followed␈α
by␈α
the␈α
beginning␈α
of␈α
a␈α
POX␈αcommand␈α--␈αjumps␈αinto␈↓ ↓H
␈↓ ↓H␈β∧∀␈↓β␈↓ ↓Hthe␈α
middle␈α
of␈α
the␈α
escape␈α
code␈α
at␈α
the␈α
point␈α
just␈α
after␈α
the␈α
␈↓1␈↓β␈α
has␈α
been␈α
recognized.␈↓ ↓H
␈↓ ↓H␈β∧3␈↓β␈↓ α_␈↓∂∀.␈↓β␈α⊂--␈α⊂assume␈α⊂this␈α⊂is␈α⊂an␈α⊂old-style␈α⊂␈↓1␈↓∂;␈↓β␈α⊂command␈α⊂(don't␈α∂rely␈α∂on␈α∂this,␈α∂it␈α∂is␈α∂incorrect)␈α∂--␈α∂ignore␈↓ ↓H
␈↓ ↓H␈β∧S␈↓β␈↓ ↓Hthrough␈α
next␈α
<crlf>␈α
then␈α
jump␈α
into␈α
beginning␈α
of␈α
PASS-AS-IS␈α
loop.␈↓ ↓H
␈↓ ↓H␈β∧q␈↓β␈↓ α_␈↓∂∀;␈↓β␈α
--␈α
assume␈α
this␈α
is␈α
a␈α
skip-to-crlf␈α
command␈α
--␈α
does␈α
it␈α
(see␈α
above)␈↓ ↓H
␈↓ ↓H␈β¬∂␈↓β␈↓ α_␈↓∂∀∃␈↓β␈α--␈αassumes␈αthe␈αfirst␈αis␈αthe␈αescape␈αcharacter␈αand␈αthat␈αthe␈αuser␈αis␈αconfused␈αabout␈αwhat␈αto␈αdo␈↓ ↓H
␈↓ ↓H␈β¬-␈↓β␈↓ ↓Hnext␈α
--␈α
jumps␈α
into␈α
the␈α
PASS-AS-IS␈αloop␈αjust␈αafter␈αa␈αcharacter␈αhas␈αbeen␈αread,␈αto␈αbe␈αable␈αto␈αact␈αupon␈↓ ↓H
␈↓ ↓H␈β¬K␈↓β␈↓ ↓Hthe␈α
∃␈α
character␈α
--␈α
because␈α
∃␈α
is␈α
not␈αthe␈αbrick␈αcharacter,␈αan␈αerror␈αwill␈αbe␈αgenerated␈αbecause␈αPOX␈αwill␈↓ ↓H
␈↓ ↓H␈β¬i␈↓β␈↓ ↓Hattempt␈α
to␈α
output␈α
the␈α
∃␈α
character␈α
but␈α
no␈α
font␈α
has␈α
yet␈α
been␈α
defined.␈↓ ↓H
␈↓ ↓H␈βεπ␈↓β␈↓ ↓H
␈↓ ↓H␈βε$␈↓β␈↓ ↓H(NOTE␈α
2)␈α
--␈α
THIS␈α
NOTE␈α
PURGED␈α
--␈α
SEE␈α
COMMANDS␈α
␈↓1␈↓β␈↓∂`␈↓β␈α
␈↓1␈↓β⊂␈α
␈↓1␈↓β⊃␈↓ ↓H
␈↓ ↓H␈βεD␈↓β␈↓ ↓H
␈↓ ↓H␈βεb␈↓β␈↓ ↓H(NOTE␈α3)␈α--␈αOf␈αcourse,␈αsince␈αthe␈αexpansion␈αof␈αa␈αmacro␈αgenerates␈αa␈αnew␈αstring␈αof␈αtext␈αas␈αif␈α
it␈α
had␈α
been␈↓ ↓H
␈↓ ↓H␈βπ␈↓β␈↓ ↓Hin␈αthe␈αinput␈αfile␈αoriginally,␈αsyntax␈αcan␈αbe␈αaltered␈αif␈αthe␈αbody␈αof␈αa␈αmacro␈αbegins␈αbut␈αdoes␈αnot␈αcomplete␈↓ ↓H
␈↓ ↓H␈βπ≥␈↓β␈↓ ↓Hsome␈α
escape␈α
sequence.␈α
Thus␈α
the␈α
definition␈α
␈↓1␈↓∂∞FOO[␈↓1␈↓∂oBIGMESS{4]␈↓β␈α
will␈α
set␈α
it␈α
up␈α
so␈α
that␈α
␈↓1␈↓∂!FOO;␈↓β␈αwill␈↓ ↓H
␈↓ ↓H␈βπ=␈↓β␈↓ ↓Hbegin␈α∂the␈α∂definition␈α∂of␈α∂an␈α∂atomic␈α∂text␈α∂overlay␈α∂but␈α∂not␈α∂finish␈α∂it,␈α∂until␈α∂some␈α∂time␈α∂later␈α∂in␈α∞the␈α∞file␈α∞an␈↓ ↓H
␈↓ ↓H␈βπ[␈↓β␈↓ ↓Hunmatched␈α
"␈↓∂}␈↓β"␈α
occurs.␈α
This␈α
can␈α
be␈α
confusing,␈α
so␈α
watch␈α
your␈α
macros␈α
carefully.␈↓ ↓H
␈↓ ↓H␈βπy␈↓β␈↓ ↓H
␈↓ ↓H␈βλ↔␈↓β␈↓ ↓H(NOTE␈α4)␈α--␈αIn␈αnormal␈αmode,␈αletting␈αthe␈αsystem␈αdo␈α<LF>␈αitself␈αor␈α
simulating␈α
what␈α
it␈α
does,␈α
subscripts␈α
etc.␈↓ ↓H
␈↓ ↓H␈βλ5␈↓β␈↓ ↓Hcause␈α∞irregular␈α∞spacing␈α∞of␈α∞lines␈α∞because␈α∞each␈α∞line␈α
takes␈α
up␈α
just␈α
as␈α
much␈α
space␈α
as␈α
it␈α
needs␈α
to␈α
avoid␈↓ ↓H
␈↓ ↓H␈βλS␈↓β␈↓ ↓Hoverlap.␈α∂If␈α∂the␈α∂system␈α∂is␈α∂doing␈α∂<LF>'s␈α∂all␈α∂by␈α∂itself␈α∂(the␈α∂only␈α∂mode␈α∂currently␈α∂implemented),␈α∂the␈α∂POX␈↓ ↓H
␈↓ ↓H␈βλq␈↓β␈↓ ↓Hprogram␈αhasn't␈αthe␈αvagueest␈αidea␈αwhere␈αon␈αthe␈αpage␈αthe␈αcurrent␈αline␈αof␈αtext␈αwill␈αbe␈αlocated␈αwhen␈αthe␈↓ ↓H
␈↓ ↓H␈β	∂␈↓β␈↓ ↓Hsystem␈αgets␈αaround␈αto␈αputting␈αthe␈αoutput␈αonto␈αthe␈αXGP.␈αHowever,␈αif␈αPOX␈αis␈αsimulating␈αwhat␈αthe␈αsystem␈↓ ↓H
␈↓ ↓H␈β	-␈↓β␈↓ ↓Hwould␈α∞do,␈α∞then␈α∞POX␈α
is␈α
using␈α
register␈α
"␈↓∂;␈↓β"␈α
and␈α
a␈α
couple␈α
of␈α
internal␈α
locations␈α
to␈α
keep␈α
track␈α
of␈α
the␈α
last␈↓ ↓H
␈↓ ↓H␈β	K␈↓β␈↓ ↓Hscan-line␈α
used,␈α
etc.␈↓ ↓H
␈↓ ↓H␈β	i␈↓β␈↓ α_In␈α
pretty-spacing␈α
mode,␈α
the␈α
baselines␈α
of␈α
the␈αtext␈αlines␈αare␈αcaused␈αto␈αbe␈αevenly-spaced␈αeven␈αif␈↓ ↓H
␈↓ ↓H␈β
π␈↓β␈↓ ↓Hoverlap␈α∞occurs␈α∞or␈α∞font␈α∞size␈α∞varies.␈α∞This␈α∞is␈α∞done␈α∞by␈α∞computing␈α
where␈α
the␈α
top␈α
scan␈α
line␈α
should␈α
be␈α
(Y␈↓ ↓H
␈↓ ↓H␈β
%␈↓β␈↓ ↓Hposition␈αof␈αbaseline␈αdesired,␈αminus␈αY␈αoffset␈αof␈αworst-case␈αsuperscript)␈αand␈αtelling␈α
the␈α
system␈α
to␈α
do␈α
the␈↓ ↓H
␈↓ ↓H␈β
C␈↓β␈↓ ↓Hline␈αthere␈α(BLETCH!␈αBLETCH!).␈αThis␈αmode␈αis␈αobtained␈αby␈αsetting␈αthe␈αε␈αparameter␈αto␈α
correct␈α
line␈α
spacing,␈↓ ↓H
␈↓ ↓H␈β
a␈↓β␈↓ ↓Hand␈α∀setting␈α∀the␈α∪λ␈α∪parameter␈α∪sufficiently␈α∪negative␈α∪to␈α∪allow␈α∪all␈α∪overlap␈α∪that␈α∪is␈α∪expected␈α∪without␈↓ ↓H
␈↓ ↓H␈β
␈␈↓β␈↓ ↓Hspreading␈α
lines␈α
further␈α
apart.␈↓ ↓H
␈↓ ↓H␈β≥␈↓β␈↓ ↓H
␈↓ ↓H␈β:␈↓β␈↓ ↓H(NOTE␈α∞5)␈α∞--␈α∞If␈α∞the␈α∞font␈α∞file␈α∞is␈α∞already␈α∞compiled,␈α∞the␈α∞␈↓1␈↓∂M␈↓β␈α∞command␈α∞merely␈α∞maps␈α∞from␈α∞the␈α∞logical␈α∞font␈↓ ↓H
␈↓ ↓H␈βZ␈↓β␈↓ ↓Hnumber␈αyou␈αselected␈αto␈αthe␈α
already-compiled␈α
system␈α
font␈α
number.␈α
If␈α
the␈α
font␈α
you␈α
requested␈α
is␈α
new␈α
but␈↓ ↓H
␈↓ ↓H␈βx␈↓β␈↓ ↓Hthe␈α
logical␈α
font␈α
number␈α
is␈α
already␈α
in␈α
use,␈α
it␈α
finds␈α
a␈α
slot,␈α
loads␈α
the␈α
font,␈α
and␈α
maps␈α
the␈α
font␈α
number.␈↓ ↓H
␈↓ ↓H␈β⊗␈↓β␈↓ ↓H
␈↓ ↓H␈β3␈↓β␈↓␈↓ ε(TRIVIA␈↓ ↓H
␈↓ ↓H␈βU␈↓␈↓β␈↓ ↓HPASSI4␈α∞--␈α
Tell␈α
user,␈α
at␈α
PASSI4+3␈α
is␈α
a␈α
CAI␈α
(NO-OP)␈α
that␈α
is␈α
executed␈α
only␈α
when␈α
POX␈α
tries␈α
to␈α
output␈α
a␈↓ ↓H
␈↓ ↓H␈βs␈↓β␈↓ ↓Hsemicolon␈αat␈αpassis-level.␈αPatching␈αit␈αto␈αa␈αHALT␈αor␈αsetting␈αa␈αbreakpoint␈αthere␈αis␈αuseful␈αfor␈αdebugging␈α
a␈↓ ↓H
␈↓ ↓H␈β
⊃␈↓β␈↓ ↓Hmysterous␈α
extra␈α
semicolon␈α
that␈α
you've␈α
created.␈α
If␈α
that␈α
doesn't␈α
find␈α
it,␈α
try␈α
patching␈α
PUTCHR+1␈α
too.␈↓ ↓H
␈↓ ↓H␈β
/␈↓β␈↓ ↓H
␈↓ ↓H␈β
M␈↓β␈↓β␈↓ α_As␈α
long␈α
as␈α
there␈α
is␈α
room␈α
in␈α
your␈αmind,␈αI␈αmight␈αas␈αwell␈αmention␈αsome␈αmajor␈αdeficiencies␈αof␈αPOX.␈↓ ↓H
␈↓ ↓H␈β
k␈↓β␈↓ ↓HThere␈αis␈α
no␈α
way␈α
to␈α
place␈α
overlays␈α
in␈α
justified␈α
or␈α
center/rightified␈α
text.␈α
There␈α
is␈α
no␈α
way␈α
to␈α
do␈α
automatic␈↓ ↓H
␈↓ ↓H␈β∞	␈↓β␈↓ ↓Hfootnotes␈α
or␈α
indexes␈α
or␈α
cross-references.␈α
Syntax␈α
is␈α
mostly␈α
strange.␈↓ ↓H
␈↓ ↓H␈β∞'␈↓β␈↓ ↓H
␈↓ ↓H␈β∞E␈↓β␈↓β␈↓ α_ONE␈αFINAL␈αTOUCH␈αTO␈αTHIS␈αWRITEUP␈α--␈αThe␈αspirograph␈αnear␈αthe␈αbottom␈αof␈αthis␈α
page␈α
(or␈α
the␈α
next␈↓ ↓H
␈↓ ↓H␈β∞c␈↓β␈↓ ↓Hif␈αthere␈αwasn't␈αroom␈αhere)␈αis␈αa␈αsimple␈αexample␈αof␈αhow␈αto␈αuse␈αrecursive␈α
macros␈α
to␈α
make␈α
program␈α
loops.␈↓ ↓H
␈↓ ↓H␈β∂␈↓β␈↓ ↓HIt␈α
also␈α
shows␈α
you␈α
the␈α
overshoot␈α
that␈α
happens␈α
with␈α
almost-horizonal␈α
vectors␈α
of␈α
the␈α
␈↓1␈↓∂v␈↓β␈α
type.␈↓ ↓H
␈↓ ↓H␈β∂ ␈↓β␈↓∂␈↓ ↓H
␈↓ 
c␈↓α 24␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 25␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓∂_; DRAW SPIROGRAPH STARTING AT (X,Y)/D (x,y)/d offset by (8,9)␈↓ ↓H
␈↓ ↓H␈β↓f␈↓∂_∞SPIRO⊂_←X_→a_←Y_→b_←x_/d_+y_→y_+Y_→Y_←y_/d_¬x_→x_+X_→X_; wheel #1 perturbs #0␈↓ ↓H
␈↓ ↓H␈βα∧␈↓∂_←X_/D_+Y_→Y_←Y_/D_¬X_→X_; wheel #0␈↓ ↓H
␈↓ ↓H␈βα"␈↓∂_←X_+8_→A_←a_+8_→a_←Y_+9_→B_←b_+9_→b_vabAB=2;⊃_; and offset for XGP␈↓ ↓H
␈↓ ↓H␈βα@␈↓∂_;␈↓ ↓H
␈↓ ↓H␈βα↑␈↓∂_∞SPIROS⊂_!SPIRO;_←I_-=1;_→I_?SPIROS;⊃_;␈↓ ↓H
␈↓ ↓H␈βα|␈↓∂_;␈↓ ↓H
␈↓ ↓H␈ββ~␈↓∂_←=800;_→8_←=1750;_→9_;␈↓ ↓H
␈↓ ↓H␈ββ8␈↓∂_←=-44;_→X_←=26;_→Y_←=2;_→D_;␈↓ ↓H
␈↓ ↓H␈ββV␈↓∂_←=-29;_→x_←=69;_→y_←=1;_→d_;␈↓ ↓H
␈↓ ↓H␈ββt␈↓∂_←=200;_→I_!SPIROS;_;␈↓ ↓H
␈∧↑π,␈gp ␈∧↑π,β?wα␈∧←π≡␈l('
␈∧←ε␈␈qd6π␈∧←ε␈∧e`β␈∧←π≡βipα␈∧dε←␈t␈E¬␈∧dε←εεPβ␈∧hπ8␈`V_∂␈∧hπ8β	⎇α␈∧kπF␈Q@⊂↔␈∧kπFα`↓∧α␈∧pεAπ@A∧␈∧pεA␈vuQ∧␈∧wπO␈&λ-␈∧wπOα8↓λα␈∧{ε␈{m↓¬α␈∧}¬k␈|*↓∃α␈∧␈ε+α↓0␈∧␈ε+␈{-uβ␈∧␈ε≠␈{S⎇α␈∧␈π[α∩↓∞α␈∧¬|␈|∂↓α␈∧∧ε$	*3¬␈∧∧ε$␈x#Z∧␈∧ε¬↑␈|F↓~α␈∧πε7pUε8␈∧πε7␈{∀mβ␈∧εD6U≠␈∧εD␈zmeβ␈∧
π`↓p↓⊃α␈∧∃¬?␈|⎇↓%α␈∧_πh↓N↓∃α␈∧≡ε>'ε␈∧≡ε␈y&`β␈∧ εX≠⊗
␈∧ εX␈z6Vβ␈∧)¬!␈⎇0↓/α␈∧1π;␈␈N↓∧α␈∧4πX␈␈7↓∩α␈∧6πm↓∃↓↔α␈∧7π≠␈␈]tα␈∧:εd∪≤	␈∧:¬w∞~≥π␈∧:εd␈z≤Jβ␈∧:¬w␈zλcβ␈∧?πr␈␈⊗↓∨α␈∧A¬	␈⎇]↓5α␈∧Eε|␈␈]dα␈∧Oλ	␈}t↓+α␈∧Uλ∀␈}i↓0α␈∧Vεi∂∨π␈∧Vεi␈z$Aβ␈∧Vπig↓∃α␈∧Wε↑␈␈PUα␈∧Y¬j⊂E⊗λ␈∧Y¬j␈zTbβ␈∧↑∧v␈}	↓8α␈∧eλ_␈}Q↓2α␈∧oεE␈␈≡Iα␈∧oλ!␈}?↓7α␈∧q¬B␈␈Neα␈∧t¬3␈␈Vlα␈∧t¬#␈␈Ytα␈∧uπ↑<↓⊂α␈∧vεg
L≡π␈∧vεg␈zY:β␈∧v¬`␈␈PUα␈∧y¬b⊃∞∩λ␈∧y¬b␈{∞↑β␈∧|¬∪␈␈lzα␈∧}∧k␈}2↓5α␈∧␈λ"␈})↓7α␈∧
¬α␈␈u↓↓α␈∧
∧¬y␈␈yEα␈∧
ε/␈}C>α␈∧
∧t↓¬α␈∧

λ'␈}↔↓:α␈∧
∪∧b→↓α␈∧
∀πM⊗↓πα␈∧
∃ε↑∞≡→π␈∧
∃ε↑␈{>6β␈∧
↔εU6α␈∧
_¬ck∪ε␈∧
_¬c␈{-Vβ␈∧
≥∧d␈}\↓1α␈∧
≡λ$␈⎇}↓8α␈∧
 ∧Y.↓∞α␈∧
)εu␈z⊗0β␈∧
+ε ␈⎇;7α␈∧
+π∪␈z}?β␈∧
,εV␈x⊂!∧␈∧
-∧FE↓∀α␈∧
-λ$␈⎇j↓8α␈∧
.π7␈␈x|α␈∧
0ε~αε)α␈∧
4εP⊃∞∩λ␈∧
4¬lπi↔∧␈∧
4εP␈|L6α␈∧
4¬l␈{-Jβ␈∧
5π.␈{"Lβ␈∧
8ε7␈q↔⊃π␈∧
:∧BZ↓∪α␈∧
;∧g␈␈↓(α␈∧
>¬v¬6≤β␈∧
>¬v␈{⊗Cβ␈∧
FπC␈{≤Wβ␈∧
Fπ≥␈␈`oα␈∧
Iε_␈α@␈∧
Kε!∧B∨β␈∧
Kε→␈|∃3α␈∧
L¬|βo∨α␈∧
L¬|␈{	<β␈∧
Mλ→␈⎇:↓3α␈∧
Oε:'6π∪␈∧
Oε:␈⎇f:α␈∧
Qε
αC&α␈∧
Qε
␈zE4β␈∧
V¬8↔␈∧
Vε␈␈␈V`α␈∧
W∧o␈␈"↓≥α␈∧
X∧.↓↓∃α␈∧
Zε≤␈{Z5α␈∧
\ε∀↓>+α␈∧
\ε∀␈z,β␈∧
]ε#␈xo%∧␈∧
]ε#z2α␈∧
↑πQ␈zs↑β␈∧
←ε`␈TVε∃␈∧
←ε`␈␈aQα␈∧
`¬*∩@⊂	␈∧
aε@␈t/⊗ε␈∧
aε@∂Aα␈∧
eε2␈w∪≤∧␈∧
eε2#:α␈∧
eε∨␈}VBα␈∧
h¬~∞↔⊗π␈∧
jε"λY↔∧␈∧
kε~␈{4β␈∧
kλπ␈⎇↓*α␈∧
n∧␈␈␈D↓∂α␈∧
v°
L→π␈∧
v∧"↓A↓∀α␈∧
wε"␈ze8β␈∧
wε␈␈*Mα␈∧
zπZ␈z:bβ␈∧
}¬⊗␈␈\↓α␈∧∞↓∧␈≡ε␈∧∞↓¬t␈␈MPα␈∧∞↓¬%␈␈↑xα␈∧∞α¬a␈␈XYα␈∧∞¬π`␈z,eβ␈∧∞¬¬C␈␈chα␈∧∞¬πo␈|X↓≡α␈∧∞πε$␈z 9β␈∧∞λ¬R␈␈k←α␈∧∞λ¬2␈␈noα␈∧∞	ε~
∀ε␈∧∞∂ε/␈z*>β␈∧∞⊃∧w
λ≡ε␈∧∞⊗∧≥αβ↓∞α␈∧∞↔π[␈ytcβ␈∧∞≠πS␈| ↓⊂α␈∧∞∨∧i]!ε␈∧∞∨ε6␈zλBβ␈∧∞"εB␈z!Gβ␈∧∞&π\␈yOcβ␈∧∞'ε	∂≡∃π␈∧∞*π5␈{i↓↓α␈∧∞.∧f∞J∨π␈∧∞0ε[␈z=Tβ␈∧∞3∧"αK↓¬α␈∧∞5π⊗␈{&qβ␈∧∞6πU␈y⊂`β␈∧∞6εw␈znbβ␈∧∞A∧Z∂  π␈∧∞D¬s∂j_λ␈∧∞GπR␈xX↑∧␈∧∞M∧\∩$≤	␈∧∞N∧+β'yα␈∧∞Q¬l⊂∀→λ␈∧∞VπG␈xεY∧␈∧∞[¬Z
V∨π␈∧∞c∧=∧∞kα␈∧∞eπ@␈w2U∧␈∧∞g¬N
⊗"ε␈∧∞m∧W→¬↔␈∧∞m¬=≤)¬␈∧∞t∧R¬⊗\β␈∧∞w¬.
7.¬␈∧∞y¬≥λ{6∧␈∧∞⎇∧nε<Lβ␈∧∞}¬
λ"<∧␈∧∂π'␈uLI¬␈∧∂
∧Z-6∞⊗␈∧∂∃π␈rm;ε␈∧∂#εl␈nε+	␈∧∂$∧eαXα↓,␈∧∂+ε.␈H
≤␈∧∂+εL␈e≤
␈↓ ↓H␈β∂P␈↓∂␈↓ ↓H␈↓ ↓H
␈↓ 
c␈↓α 25␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 26␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓∂␈↓␈↓∂␈↓␈↓ βsAPPENDIX -- SUMMARY OF ALL POX COMMANDS␈↓ ↓H
␈↓ ↓H␈β↓z␈↓␈↓ ↓tIN THE APPROXIMATE CHRONOLOGICAL ORDER IN WHICH THEY WERE IMPLEMENTED␈↓ ↓H
␈↓ ↓H␈βα≤␈↓␈↓∂page#␈↓ ↓H
␈↓ ↓H␈βα:␈↓∂ ↓␈↓ αH[Original commands by R.E.Maas 1973]␈↓ ↓H
␈↓ ↓H␈βαX␈↓∂␈↓ αH;0␈↓ βH␈↓ ∧HALL OTHERS, ILLEGAL␈↓ ↓H
␈↓ ↓H␈βαv␈↓∂ 9␈↓ αH;1  |␈↓ βH␈↓ ∧HSET NEW ESCAPE␈↓ ↓H
␈↓ ↓H␈ββ∀␈↓∂ 3␈↓ αH;2  M␈↓ βH␈↓ ∧HMAKE A NEW FONT␈↓ ↓H
␈↓ ↓H␈ββ2␈↓∂ 4␈↓ αH;3  ;␈↓ βH␈↓ ∧HIGNORE THRU LF ETC.␈↓ ↓H
␈↓ ↓H␈ββP␈↓∂ 4␈↓ αH;4  ,␈↓ βH␈↓ ∧HIGNORE THRU FF␈↓ ↓H
␈↓ ↓H␈ββn␈↓∂ 3␈↓ αH;5  F␈↓ βH␈↓ ∧HFONT SELECT␈↓ ↓H
␈↓ ↓H␈β∧␈↓∂ 3␈↓ αH;6  f␈↓ βH␈↓ ∧HFONT SELECT FOR ONE CHARACTER␈↓ ↓H
␈↓ ↓H␈β∧*␈↓∂ 9␈↓ αH;7  S␈↓ βH␈↓ ∧HSAMPLE␈↓ ↓H
␈↓ ↓H␈β∧H␈↓∂ 4␈↓ αH;10 J␈↓ βH␈↓ ∧HJUSTIFY␈↓ ↓H
␈↓ ↓H␈β∧f␈↓∂ 7␈↓ αH;11 j␈↓ βH␈↓ ∧HJUSTIFY␈↓ ↓H
␈↓ ↓H␈β¬∧␈↓∂ 4␈↓ αH;12 C␈↓ βH␈↓ ∧HCENTER␈↓ ↓H
␈↓ ↓H␈β¬"␈↓∂ 7␈↓ αH;13 c␈↓ βH␈↓ ∧HCENTER␈↓ ↓H
␈↓ ↓H␈β¬@␈↓∂ 4␈↓ αH;14 R␈↓ βH␈↓ ∧HRIGHTIFY␈↓ ↓H
␈↓ ↓H␈β¬↑␈↓∂ 7␈↓ αH;15 r␈↓ βH␈↓ ∧HRIGHTIFY␈↓ ↓H
␈↓ ↓H␈β¬|␈↓∂ 6␈↓ αH;16 ←+-*/\¬∧∨%L~_ Q-REGISTER ARITHMETIC␈↓ ↓H
␈↓ ↓H␈βε~␈↓∂ 6␈↓ αH;17 →␈↓ βH␈↓ ∧HQ REGISTER DEPOSIT␈↓ ↓H
␈↓ ↓H␈βε8␈↓∂ 7*␈↓ αH;62 ↑↓␈↓ βH␈↓ ∧HQ-REGISTER SUB/SUP-SCRIPT [GENERATES ESCAPE SEQ. VIA XCT W]␈↓ ↓H
␈↓ ↓H␈βεV␈↓∂ 7␈↓ αH;20 ∩∪⊗␈↓ βH␈↓ ∧HMOVE BASELINE.␈↓ ↓H
␈↓ ↓H␈βεt␈↓∂␈↓ ↓H
␈↓ ↓H␈βπ∩␈↓∂␈↓ αH[Added by R.E.Gorin 1973-74]␈↓ ↓H
␈↓ ↓H␈βπ0␈↓∂ 7␈↓ αH;21 U␈↓ βH␈↓ ∧HUNDERSCORE␈↓ ↓H
␈↓ ↓H␈βπN␈↓∂ 8␈↓ αH;22 P␈↓ βH␈↓ ∧HPUSH␈↓ ↓H
␈↓ ↓H␈βπl␈↓∂ 8␈↓ αH;23 p␈↓ βH␈↓ ∧HPOP␈↓ ↓H
␈↓ ↓H␈βλ
␈↓∂ 7␈↓ αH;24 '␈↓ βH␈↓ ∧HQUOTE WITH RUBOUT <<NOT RECCOMMENDED>>␈↓ ↓H
␈↓ ↓H␈βλ(␈↓∂ 9␈↓ αH;25 λ␈↓ βH␈↓ ∧HSET SPECIAL LINE SPACE FROM AC0␈↓ ↓H
␈↓ ↓H␈βλF␈↓∂ 8␈↓ αH;26 V␈↓ βH␈↓ ∧HVECTOR␈↓ ↓H
␈↓ ↓H␈βλd␈↓∂ 9␈↓ αH;27 Y␈↓ βH␈↓ ∧HSet Y position␈↓ ↓H
␈↓ ↓H␈β	α␈↓∂␈↓ ↓H
␈↓ ↓H␈β	 ␈↓∂␈↓ αH[Added by R.E.Maas 1974-75]␈↓ ↓H
␈↓ ↓H␈β	>␈↓∂12,14␈↓ αH;30 ∞␈↓ βH␈↓ ∧HDefine macro␈↓ ↓H
␈↓ ↓H␈β	\␈↓∂12,14␈↓ αH;31 !␈↓ βH␈↓ ∧HCall macro␈↓ ↓H
␈↓ ↓H␈β	z␈↓∂12,15␈↓ αH;32 ?␈↓ βH␈↓ ∧HIf QREGAC>0 then call macro else scan but null semantics␈↓ ↓H
␈↓ ↓H␈β
_␈↓∂12␈↓ αH;33 @␈↓ βH␈↓ ∧HRequire source file, then return␈↓ ↓H
␈↓ ↓H␈β
6␈↓∂12␈↓ αH;34 α␈↓ βH␈↓ ∧HJump to file, don't return␈↓ ↓H
␈↓ ↓H␈β
T␈↓∂ 8*␈↓ αH;26 v␈↓ βH␈↓ ∧Hpretty vector␈↓ ↓H
␈↓ ↓H␈β
r␈↓∂ 8␈↓ αH;35 Q␈↓ βH␈↓ ∧HPUSH WITH ARG␈↓ ↓H
␈↓ ↓H␈β⊂␈↓∂ 8␈↓ αH;36 q␈↓ βH␈↓ ∧HPOP WITH ARG␈↓ ↓H
␈↓ ↓H␈β.␈↓∂10␈↓ αH;37 o␈↓ βH␈↓ ∧HDEFINE ATOMIC TEXT OVERLAY␈↓ ↓H
␈↓ ↓H␈βL␈↓∂11␈↓ αH;40 O␈↓ βH␈↓ ∧HOUTPUT OVERLAY␈↓ ↓H
␈↓ ↓H␈βj␈↓∂11␈↓ αH;41 123456␈↓ ∧HLOAD QREGAC WITH PARAMETER FROM OVERLAY <<5,6 NOT WORKING>>␈↓ ↓H
␈↓ ↓H␈βλ␈↓∂20␈↓ αH;42 `␈↓ βH␈↓ ∧H[TEMPORARY] SET UP VERSION FLAGS <<NOT RECCOMMENDED>>␈↓ ↓H
␈↓ ↓H␈β&␈↓∂11␈↓ αH;43 &␈↓ βH␈↓ ∧HCOMBINE SEVERAL OVERLAYS INTO ONE, WITH OFFSETS EACH␈↓ ↓H
␈↓ ↓H␈βD␈↓∂12␈↓ αH;44 ∂␈↓ βH␈↓ ∧HRENAME OVERLAY IN COMPLICATED WAY␈↓ ↓H
␈↓ ↓H␈βb␈↓∂11␈↓ αH;45 :␈↓ βH␈↓ ∧HCLOBBER SELECTED SIZE PARAMETER OF OVERLAY␈↓ ↓H
␈↓ ↓H␈β
␈↓∂ 9␈↓ αH;46 ε␈↓ βH␈↓ ∧HSET MINIMUM BASELINE SPACING, USED IN CONJUNCTION WITH λ␈↓ ↓H
␈↓ ↓H␈β
≡␈↓∂ 4␈↓ αH;47 <SP><TB>␈↓ ∧HIGNORE SPACES UNTIL ; SEEN (FOR PRETTY SOURCE FILES)␈↓ ↓H
␈↓ ↓H␈β
<␈↓∂ 3␈↓ αH;50 <VT>N␈↓ ∧HBREAK TO NEXT LINE HERE WITHOUT AFFECTING SYNTAX␈↓ ↓H
␈↓ ↓H␈β
Z␈↓∂ 9␈↓ αH;51 u␈↓ βH␈↓ ∧HCALLI UUO␈↓ ↓H
␈↓ ↓H␈β
x␈↓∂ 7␈↓ αH;52 "␈↓ βH␈↓ ∧HQUOTE THE NEXT CHARACTER (WITHOUT RUBOUT UNLESS NEEDED)␈↓ ↓H
␈↓ ↓H␈β∞⊗␈↓∂␈↓ αH;53 n␈↓ βH␈↓ ∧HNO PAGE CHANGE NEXT TIME <<NOT SUPPORTED>>␈↓ ↓H
␈↓ ↓H␈β∞4␈↓∂ 8␈↓ αH;54 A␈↓ βH␈↓ ∧HCVT QREG TO CHARACTER (WITHOUT RUBOUT UNLESS NEEDED) AND OUTPUT␈↓ ↓H
␈↓ ↓H␈β∞R␈↓∂20␈↓ αH;55 ⊂␈↓ βH␈↓ ∧HTURN ON DEBUG FLAGS -- VLEVE←VLEVEL∨ARG␈↓ ↓H
␈↓ ↓H␈β∞p␈↓∂20␈↓ αH;56 ⊃␈↓ βH␈↓ ∧HTURN OFF DEBUG FLAGS -- VLEVEL←VLEVEL∧(¬ARG)␈↓ ↓H
␈↓ ↓H␈β∂∞␈↓∂ 7␈↓ αH;57 {␈↓ βH␈↓ ∧HSTART UNDERLINE [WRITES ESCAPE SEQUENCE VIA XCT W]␈↓ ↓H
␈↓ ↓H␈β∂,␈↓∂ 7␈↓ αH;60 }␈↓ βH␈↓ ∧HSTOP UNDERLINE [DITTO]␈↓ ↓H
␈↓ 
c␈↓α 26␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ 
c␈↓α 27␈↓ α≤␈β↓α␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓∂ 8␈↓ αH;61 D␈↓ βH␈↓ ∧HCONVERT DECIMAL TO STRING MACRO AND SPLICE NOW [INPDL]␈↓ ↓H
␈↓ ↓H␈β↓f␈↓∂11*␈↓ αH;40 W␈↓ βH␈↓ ∧HSAME AS O BUT FORCES ON SAME PAGE, DOES NOT AFFECT PAGE PRINTER␈↓ ↓H
␈↓ ↓H␈βα∧␈↓∂13␈↓ αH;63 β␈↓ βH␈↓ ∧HDO LOOKUP ON FILE, WARN IF MISSING, BUT DON'T READ IT␈↓ ↓H
␈↓ ↓H␈βα"␈↓∂13*␈↓ αH;33 ∀␈↓ βH␈↓ ∧HSCAN OF LIBRARY OF MACRO DEFINITIONS␈↓ ↓H
␈↓ ↓H␈βα@␈↓∂ 8␈↓ αH;64 #␈↓ βH␈↓ ∧HPUSH FONT# ON STACK␈↓ ↓H
␈↓ ↓H␈βα↑␈↓∂ 8␈↓ αH;65 G␈↓ βH␈↓ ∧HPOP FONT# FROM STACK AND SELECT␈↓ ↓H
␈↓ ↓H␈βα|␈↓∂␈↓ ↓H
␈↓ ↓H␈ββ~␈↓∂␈↓ αH[Not yet implemented -- 1975.Nov]␈↓ ↓H
␈↓ ↓H␈ββ8␈↓∂␈↓ αH;N1 X␈↓ βH␈↓ ∧H(RESERVED FOR EXTENDED-SCANNER TO BE IMPLEMENTED SOMEDAY)␈↓ ↓H
␈↓ ↓H␈ββV␈↓∂␈↓ αH;N2 π␈↓ βH␈↓ ∧H(RESERVED FOR ILLEGAL COMMAND TO ENTER DEBUG PACKAGE)␈↓ ↓H
␈↓ ↓H␈ββt␈↓∂␈↓ ↓H
␈↓ ↓H␈β∧≥␈↓∂␈↓␈↓ β-INDEX TO POX COMMANDS IN ASCII-ALPHABETICAL ORDER␈↓ ↓H
␈↓ ↓H␈β∧J␈↓␈↓ αkNUMBER REFERS TO SUMMARY OF COMMANDS IN PREVIOUS TABLE␈↓ ↓H
␈↓ ↓H␈β∧w␈↓␈↓ α/AN ASTERISK HERE MEANS IT'S NOT LOCATED IN NUMERICAL ORDER THERE␈↓ ↓H
␈↓ ↓H␈β¬(␈↓␈↓∂␈↓ αHxx0␈↓ βHxx1␈↓ ∧Hxx2␈↓ ¬Hxx3␈↓ εHxx4␈↓ πHxx5␈↓ λHxx6␈↓ 	Hxx7␈↓ ↓H
␈↓ ↓H␈β¬U␈↓∂00x␈↓ αHNUL 00␈↓ βH↓ 62*␈↓ ∧Hα 34␈↓ ¬Hβ 63␈↓ εH∧ 16␈↓ πH¬ 16␈↓ λHε 46␈↓ 	Hπ N2␈↓ ↓H
␈↓ ↓H␈βεα␈↓∂01x␈↓ αHλ 25␈↓ βHTB 47␈↓ ∧HLF 00␈↓ ¬H 50␈↓ εHFF 00␈↓ πHCR 00␈↓ λH∞ 30␈↓ 	H∂ 44␈↓ ↓H
␈↓ ↓H␈βε/␈↓∂02x␈↓ αH⊂ 55␈↓ βH⊃ 56␈↓ ∧H∩ 20␈↓ ¬H∪ 20␈↓ εH∀ (64)␈↓ πH∃␈↓ λH⊗ 20␈↓ 	H↔␈↓ ↓H
␈↓ ↓H␈βε\␈↓∂03x␈↓ αH_ 16␈↓ βH→ 17␈↓ ∧H~ 16␈↓ ¬H≠␈↓ εH≤␈↓ πH≥␈↓ λH≡␈↓ 	H∨ 16␈↓ ↓H
␈↓ ↓H␈βπ	␈↓∂04x␈↓ αHSP 47␈↓ βH! 31␈↓ ∧H" 52␈↓ ¬H#␈↓ εH$␈↓ πH% 16␈↓ λH& 43␈↓ 	H' 24␈↓ ↓H
␈↓ ↓H␈βπ6␈↓∂05x␈↓ αH( (?)␈↓ βH)␈↓ ∧H* 16␈↓ ¬H+ 16␈↓ εH, 04␈↓ πH- 16␈↓ λH. 03␈↓ 	H/ 16␈↓ ↓H
␈↓ ↓H␈βπc␈↓∂06x␈↓ αH0␈↓ βH1 41␈↓ ∧H2 41␈↓ ¬H3 41␈↓ εH4 41␈↓ πH5 (41)␈↓ λH6 (41)␈↓ 	H7 (?)␈↓ ↓H
␈↓ ↓H␈βλ⊂␈↓∂07x␈↓ αH8 30␈↓ βH9␈↓ ∧H: 45␈↓ ¬H; 03␈↓ εH<␈↓ πH=␈↓ λH>␈↓ 	H? 32␈↓ ↓H
␈↓ ↓H␈βλ=␈↓∂10x␈↓ αH@ 33␈↓ βHA 54␈↓ ∧HB␈↓ ¬HC 12␈↓ εHD 61␈↓ πHE␈↓ λHF 05␈↓ 	HG␈↓ ↓H
␈↓ ↓H␈βλj␈↓∂11x␈↓ αHH␈↓ βHI␈↓ ∧HJ 10␈↓ ¬HK␈↓ εHL 16␈↓ πHM 02␈↓ λHN 50␈↓ 	HO 40␈↓ ↓H
␈↓ ↓H␈β	↔␈↓∂12x␈↓ αHP 22␈↓ βHQ 35␈↓ ∧HR 14␈↓ ¬HS 07␈↓ εHT␈↓ πHU 21␈↓ λHV 26␈↓ 	HW 40*␈↓ ↓H
␈↓ ↓H␈β	D␈↓∂13x␈↓ αHX N1␈↓ βHY 27␈↓ ∧HZ␈↓ ¬H[␈↓ εH\ 16␈↓ πH]␈↓ λH↑ 62*␈↓ 	H← 16␈↓ ↓H
␈↓ ↓H␈β	q␈↓∂14x␈↓ αH` 42␈↓ βHa␈↓ ∧Hb␈↓ ¬Hc 13␈↓ εHd␈↓ πHe␈↓ λHf 06␈↓ 	Hg␈↓ ↓H
␈↓ ↓H␈β
≡␈↓∂15x␈↓ αHh␈↓ βHi␈↓ ∧Hj 11␈↓ ¬Hk␈↓ εHl␈↓ πHm␈↓ λHn 53␈↓ 	Ho 37␈↓ ↓H
␈↓ ↓H␈β
K␈↓∂16x␈↓ αHp 23␈↓ βHq 36␈↓ ∧Hr 15␈↓ ¬Hs␈↓ εHt␈↓ πHu 51␈↓ λHv 26*␈↓ 	Hw (26)␈↓ ↓H
␈↓ ↓H␈β
x␈↓∂17x␈↓ αHx␈↓ βHy␈↓ ∧Hz␈↓ ¬H{ 57␈↓ εH| 01␈↓ πHALT 00␈↓ λH} 60␈↓ 	HBS 00␈↓ ↓H
␈↓ ↓H␈β%␈↓∂␈↓ ↓H
␈↓ ↓H␈βR␈↓∂␈↓β␈↓ α_(To␈αuse␈αthe␈αabove␈αtable␈αto␈αlocate␈αthe␈αcommand␈αcorresponding␈αto␈αa␈αparticular␈αcharacter,␈αlook␈αup␈↓ ↓H
␈↓ ↓H␈β␈␈↓β␈↓ ↓Hthe␈α∩character␈α∩according␈α∩to␈α∩ASCII␈α∩number,␈α∩use␈α∩the␈α∩numerical␈α∩entry␈α∩in␈α∩the␈α⊃table␈α⊃to␈α⊃reference␈α⊃the␈↓ ↓H
␈↓ ↓H␈β,␈↓β␈↓ ↓Hpreceeding␈α
table,␈α
and␈α
read␈α
the␈α
description␈α
on␈α
that␈α
table.␈α
That␈α
first␈α
table␈α
now␈α
includes␈αpage␈αnumbers␈↓ ↓H
␈↓ ↓H␈βY␈↓β␈↓ ↓Hfor␈α
your␈α
convenience␈α
in␈α
locating␈α
the␈αfull␈αdescription␈αelsewhere␈αin␈αthis␈αwriteup.␈αThe␈αtable␈αof␈αcontents,␈↓ ↓H
␈↓ ↓H␈β
ε␈↓β␈↓ ↓Hhowever,␈α
will␈α
usually␈α
be␈α
more␈α
useful␈α
for␈α
locating␈α
general␈α
types␈α
of␈α
commands.)␈↓ ↓H
␈↓ 
c␈↓α 27␈↓ α≤␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page 
␈↓ ↓H␈β↓H␈↓β␈↓␈↓ βfPROTOTYPE OVERLAY XEROGRAPHICS -- WRITEUP␈↓ ↓H
␈↓ ↓H␈β↓u␈↓␈↓ ε
CONTENTS␈↓ ↓H
␈↓ ↓H␈βα"␈↓␈↓ ↓H
␈↓ ↓H␈βαS␈↓␈↓β␈↓ ↓;(page numbers here correspond to headings/footings -- add one for XSPOOL command page numbers) ↓↓␈↓ ↓H
␈↓ ↓H␈βα|␈↓β␈↓Contents [this page, generated after p.27, bound before p.1]␈↓ 	λ␈↓ ]␈↓αi␈↓␈↓ ↓H
␈∧β≠↓H↓
≡␈∧β ↓H↓
≡␈↓ ↓H␈ββ)␈↓Introduction␈↓ βλ␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ G 1␈↓ ↓H
␈↓ ↓H␈ββV␈↓␈↓ α(Sample POX manuscript␈↓ ¬(␈↓ ελ␈↓ G 2␈↓ ↓H
␈↓ ↓H␈β∧β␈↓␈↓ α(This writeup, organization, modes, notation␈↓ πH␈↓ G 2␈↓ ↓H
␈↓ ↓H␈β∧0␈↓␈↓ α(BNF notation used in this writeup␈↓ εh␈↓ G 3␈↓ ↓H
␈∧∧O↓H↓
≡␈∧∧T↓H↓
≡␈↓ ↓H␈β∧]␈↓Basic commands␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ ελ␈↓ G 3␈↓ ↓H
␈↓ ↓H␈β¬
␈↓␈↓ α(Table of modes and commands␈↓ ελ␈↓ G 4␈↓ ↓H
␈↓ ↓H␈β¬7␈↓␈↓ α(Examples␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ G 5␈↓ ↓H
␈∧¬V↓H↓
≡␈∧¬[↓H↓
≡␈↓ ↓H␈β¬d␈↓Registers and XY coordinates␈↓ ¬(␈↓ ελ␈↓ G 5␈↓ ↓H
␈↓ ↓H␈βε⊃␈↓␈↓ α(Arguments to commands␈↓ ¬(␈↓ ελ␈↓ G 6␈↓ ↓H
␈↓ ↓H␈βε>␈↓␈↓ α(Commands (most of the POX commands are in this section...)␈↓ G 6␈↓ ↓H
␈↓ ↓H␈βεk␈↓␈↓ α(...Vectors␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ G 8␈↓ ↓H
␈↓ ↓H␈βπ_␈↓␈↓ α(...Interline spacing␈↓ ∧H␈↓ ¬(␈↓ G 9␈↓ ↓H
␈↓ ↓H␈βπE␈↓␈↓ α(Examples␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @10␈↓ ↓H
␈∧πd↓H↓
≡␈∧πi↓H↓
≡␈↓ ↓H␈βπr␈↓Overlays␈↓ βλ␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @10␈↓ ↓H
␈↓ ↓H␈βλ∨␈↓␈↓ α(Examples␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @12␈↓ ↓H
␈∧λ>↓H↓
≡␈∧λC↓H↓
≡␈↓ ↓H␈βλL␈↓Macros without arguments, require source files␈↓ πH␈↓ @12␈↓ ↓H
␈↓ ↓H␈βλy␈↓␈↓ α(Examples␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @13␈↓ ↓H
␈∧	_↓H↓
≡␈∧	≥↓H↓
≡␈↓ ↓H␈β	&␈↓Macros with arguments␈↓ ∧H␈↓ ¬(␈↓ ελ␈↓ @14␈↓ ↓H
␈↓ ↓H␈β	S␈↓␈↓ α(Commands␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @14␈↓ ↓H
␈↓ ↓H␈β
␈↓␈↓ α(Detailed algorithm of evaluation␈↓ @15␈↓ ↓H
␈↓ ↓H␈β
-␈↓␈↓ α(Examples␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @17␈↓ ↓H
␈↓ ↓H␈β
Z␈↓␈↓ α(Detailed examples of argument evaluation␈↓ πH␈↓ @17␈↓ ↓H
␈↓ ↓H␈βπ␈↓␈↓ α(Advanced examples (MONTH<N>, EVAL, RECURSE, DEFCONT, EVERYPAGE) ␈↓ @18␈↓ ↓H
␈∧&↓H↓
≡␈∧+↓H↓
≡␈↓ ↓H␈β4␈↓Special-feature bits␈↓ ∧H␈↓ ¬(␈↓ ελ␈↓ @20␈↓ ↓H
␈↓ ↓H␈βa␈↓␈↓ α(Batch 0␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ ελ␈↓ @21␈↓ ↓H
␈↓ ↓H␈β∞␈↓␈↓ α(Batch 1␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ ελ␈↓ @22␈↓ ↓H
␈↓ ↓H␈β;␈↓␈↓ α(Examples␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @22␈↓ ↓H
␈∧Z↓H↓
≡␈∧←↓H↓
≡␈↓ ↓H␈βh␈↓Remarks on using the POX program␈↓ ελ␈↓ @22␈↓ ↓H
␈↓ ↓H␈β
∃␈↓␈↓ α(Backtrace/Error package␈↓ ¬(␈↓ ελ␈↓ @22␈↓ ↓H
␈↓ ↓H␈β
B␈↓␈↓ α(Known bugs in POX (by number)␈↓ ελ␈↓ @23␈↓ ↓H
␈↓ ↓H␈β
o␈↓␈↓ α(Notes (by number)␈↓ ∧H␈↓ ¬(␈↓ @23␈↓ ↓H
␈↓ ↓H␈β∞≤␈↓␈↓ α(Trivia␈↓ βλ␈↓ βh␈↓ @24␈↓ ↓H
␈∧∞;↓H↓
≡␈∧∞@↓H↓
≡␈↓ ↓H␈β∞I␈↓Appendix␈↓ βλ␈↓ βh␈↓ ∧H␈↓ ¬(␈↓ @26␈↓ ↓H
␈↓ ↓H␈β∞v␈↓␈↓ α(Chronological list of commands (with page references)␈↓ 	λ␈↓ @26␈↓ ↓H
␈↓ ↓H␈β∂#␈↓␈↓ α(ASCII sequence table␈↓ ¬(␈↓ ελ␈↓ @27␈↓ ↓H
␈↓ 
m␈↓α i␈↓ α&␈β⊂ ␈↓αPOX writeup,  edited 1975 DEC 05  06:46 PST,  compiled 1975 DEC 05  07:11 -- page